我正在构建一个ASP.NET Core Web应用程序(.Net Framework),但是我很难弄清楚如何将单元测试连接起来。我正在针对.NET Framework版本4.6.1进行定位。
如果我创建一个普通的“类库”项目,针对4.6.1版本,就像之前的MVC版本一样,它会允许我添加到我的MVC项目(该项目属于同一解决方案),但是我通过“using”语句添加的任何命名空间都会报告错误,可能缺少引用或使用语句。如果我在解决方案浏览器中的“引用”部分下双击引用,则会告诉我找不到项目或尚未构建该项目。
我尝试创建一个“类库(.NET Core)”,但这会报错,因为我是针对.NET Framework而不是.NET Core。我编辑了类库的Project.json文件,将其定位到.NET Framework,这样可以让我添加引用,并且当我在“using”语句中使用命名空间时不会出错,但是我的所有测试都没有被测试运行器发现。我尝试了XUnit和NUnit,它们的行为都相同。
能否针对定位到.NET Framework 4.6.1的ASP.NET Core Web应用程序进行单元测试,还是需要采用.NET Core?
编辑以添加我的测试类 这是我的测试类,裁剪至最低限度。我要测试的类是TestBank.Services。
如果我创建一个普通的“类库”项目,针对4.6.1版本,就像之前的MVC版本一样,它会允许我添加到我的MVC项目(该项目属于同一解决方案),但是我通过“using”语句添加的任何命名空间都会报告错误,可能缺少引用或使用语句。如果我在解决方案浏览器中的“引用”部分下双击引用,则会告诉我找不到项目或尚未构建该项目。
我尝试创建一个“类库(.NET Core)”,但这会报错,因为我是针对.NET Framework而不是.NET Core。我编辑了类库的Project.json文件,将其定位到.NET Framework,这样可以让我添加引用,并且当我在“using”语句中使用命名空间时不会出错,但是我的所有测试都没有被测试运行器发现。我尝试了XUnit和NUnit,它们的行为都相同。
能否针对定位到.NET Framework 4.6.1的ASP.NET Core 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": {
}
}
}
Fact
或等效标记的公共方法,对吧? - stephen.vakildotnet test
)中正常工作? - stephen.vakildotnet test
返回的是Command "dotnet" is not valid.
这看起来并不乐观。 - Andre Messier