Visual Studio 2017,.Net CoreApp 1.1(目标框架)
我需要为我的 ASP.NET Core MVC 网络应用程序编写 NUnit 测试。我经常将 NUnit 用于基于 .NET Framework 3.5-4.6.1 构建的桌面项目。
xunit
没有问题,但我想使用 nunit
。
Here我看到在当前情况下我要包含这样的 NuGet 包:
- dotnet-test-nunit
- NUnit
但是测试资源管理器看不到我的测试:
[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 包(我一直使用它),但这个问题并没有消失。
我该如何解决?
最佳答案
当 .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 Adapter 更新。有关如何使用它的信息,请参阅 Testing .NET Core with NUnit in Visual Studio 2017
关于c# - 为什么测试资源管理器看不到我的 ASP.NET Core MVC 的 NUnit 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43494462/