And*_*ier 6 .net c# asp.net unit-testing asp.net-core-mvc
我正在构建一个ASP.NET核心Web应用程序(.Net Framework),并且很难弄清楚如何将单元测试挂钩到它.我的目标是.net框架版本4.6.1
如果我创建一个针对4.6.1的常规"类库"项目,就像我以前的MVC版本一样,它允许我添加对我的MVC项目的引用(这是同一解决方案的一部分),但是我通过using语句添加的任何命名空间报告我可能缺少引用或使用语句的错误.如果我双击解决方案资源管理器中"参考"部分下的引用,它会告诉我项目无法找到或尚未构建.
我尝试创建一个"类库(.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);
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的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": {
}
}
}
Run Code Online (Sandbox Code Playgroud)
你project.json需要一个testRunner设置.根据project.json文档,该testRunner设置不仅指定要使用的测试框架,还将项目标记为测试项目.
尝试添加它并查看它是否找到了您的测试(在本地验证它在文件中没有此设置时将找不到测试)
{
"version": "1.0.0-*",
"dependencies": {
"xunit": "2.1.0",
"dotnet-test-xunit": "1.0.0-rc2-build10025",
"TestBank": "1.0.0-*"
},
"frameworks": {
"net461": {
}
},
"testRunner": "xunit"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5077 次 |
| 最近记录: |