Visual Studio 2017,。Net CoreApp 1.1(目标框架)
我需要为我的 ASP.NET Core MVC Web应用程序编写NUnit测试。我经常使用NUnit来构建基于.NET Framework 3.5-4.6.1的桌面项目。
我没有xunit
的问题,但我想使用nunit
。
Here我在目前的情况下看到我要包含这样的NuGet包:
但是测试资源管理器没有看到我的测试:
[TestFixture]
public class ProductTests {
[Test]
public void Name_Gets_ValidValue() {
var name = "Bob";
decimal price = 45.5M;
Product p = new Product() { Name = name, Price = price };
Assert.AreEqual(name, p.Name);
}
[Test]
public void Name_Gets_ValidPrice() {
var name = "Bob";
decimal price = 45.5M;
Product p = new Product() { Name = name, Price = price };
Assert.AreEqual(price, p.Price);
}
}
嗯......好的。我试图添加 NUnit3TestAdapter NuGet-package(我用它alwais),但这个问题并没有消失。
我该如何解决?
答案 0 :(得分:4)
当.NET Core从project.json
格式切换到csproj
格式时,它删除了对原始.NET Core测试适配器API的支持,因此dotnet-test-nunit
适配器不再适用于Visual Studio 2017或新的.NET Core命令行工具。
新的csproj
格式使用旧的Visual Studio测试适配器API,因此NUnit团队需要更新该测试适配器以支持.NET Core。这项工作几乎在两个PR中完成,一个用于Visual Studio adapter,一个用于NUnit Engine。
一旦合并了这两个拉取请求,我将在下周创建更新的适配器的alpha版本。一旦我这样做,我将使用为.NET Core设置单元测试的新方法更新我的博客。在此期间,您可以make your unit tests self-executing using NUnitLite。
很抱歉给您带来了不便,我们花了比预期更长的时间来使用.NET Core。
更新:我发布了支持.NET Core的NUnit Visual Studio适配器的更新。有关如何使用它的信息,请参阅Testing .NET Core with NUnit in Visual Studio 2017