为什么Test Explorer没有看到我对ASP.NET Core MVC的NUnit测试?

时间:2017-04-19 11:28:45

标签: c# asp.net-core nunit

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包:

  • 的dotnet试验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-package(我用它alwais),但这个问题并没有消失。

我该如何解决?

1 个答案:

答案 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