【问题标题】:Why Test Explorer doesn't see my NUnit tests for ASP.NET Core MVC?为什么测试资源管理器看不到我对 ASP.NET Core MVC 的 NUnit 测试?
【发布时间】:2017-04-19 11:28:45
【问题描述】:

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-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-package(我一直使用它),但这个问题并没有消失。

我该如何解决?

【问题讨论】:

    标签: c# asp.net-core nunit


    【解决方案1】:

    当 .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

    【讨论】:

    • 谢谢。 “那个测试适配器”是 NUnit3TestAdapter 吗?
    • 是的,它是 NUnit3TestAdapter。它正在升级以支持 .NET Core。
    猜你喜欢
    • 2016-12-02
    • 1970-01-01
    • 1970-01-01
    • 2017-04-27
    • 1970-01-01
    • 1970-01-01
    • 2019-10-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多