加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何对ASP.NET核心Web应用程序(.Net Framework)进行单元测

发布时间:2020-12-15 08:41:01 所属栏目:百科 来源:网络整理
导读:我正在构建一个ASP.NET核心Web应用程序(.Net Framework),并且很难弄清楚如何将单元测试挂钩到它.我的目标是.net框架版本4.6.1 如果我创建一个针对4.6.1的常规“类库”项目,就像我以前的MVC版本一样,它允许我添加对我的MVC项目的引用(这是同一解决方案的一部
我正在构建一个ASP.NET核心Web应用程序(.Net Framework),并且很难弄清楚如何将单元测试挂钩到它.我的目标是.net框架版本4.6.1

如果我创建一个针对4.6.1的常规“类库”项目,就像我以前的MVC版本一样,它允许我添加对我的MVC项目的引用(这是同一解决方案的一部分),但是我通过使用添加的任何命名空间语句报告错误,我可能会错过引用或使用语句.如果我双击解决方案资源管理器中“参考”部分下的引用,它会告诉我项目无法找到或尚未构建.

我尝试创建一个“类库(.NET Core)”,但由于我的目标是.Net Framework而不是.NET Core,因此抱怨.我编辑了类库lib.json,使它以.net框架为目标,这让我可以添加我的引用,并且当我在using语句中使用命名空间时,我不会抱怨,但测试运行器没有发现我的测试.我已经尝试了XUnit和NUnit,它们的行为都相同.

是否可以对面向.Net Framework 4.6.1的ASP.Net核心Web应用程序进行单元测试,还是需要提交到.NET Core?

编辑以添加我的测试类
这是我的测试类被剥离到最低限度. TestBank.Services是我想要测试的类.

using System;
using TestBank.Services;
using Xunit;

namespace TestBankUnitTests
    {    
    public class Class1
    {        
        [Fact]
        public void TestA()
        {
            Assert.True(false);
        }
    }
}

这是我的project.json

{
    "version": "1.0.0-*","dependencies": {
        "xunit": "2.1.0","dotnet-test-xunit": "1.0.0-rc2-build10025","TestBank": "1.0.0-*"
    },"frameworks": {
        "net461": {
        }
    }
}

解决方法

您的project.json需要testRunner设置.根据 project.json documentation,testRunner设置不仅指定要使用的测试框架,还将项目标记为测试项目.

尝试添加它并查看它是否找到了您的测试(在本地验证它在文件中没有此设置时将找不到测试)

{
    "version": "1.0.0-*","frameworks": {
        "net461": {
        }
    },"testRunner": "xunit"
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读