未发现 NUnit v3 单元测试 - "Discover test finished: 0 found"

NUnit v3 unit tests not being discovered - "Discover test finished: 0 found"

测试class

[TestFixture]
public class Class1
{
    [Test]
    public void testtesttest()
    {
        Assert.IsTrue(true);
    }
}

依赖关系

我遵循了 here 的指示。

为什么我找不到我的单元测试?

.NET核心解决方案

事实证明我必须有一个单元测试项目而不是 class 库:

我也遵循了 MSDN 网站的说明 here

我 运行 在命令提示符下执行以下操作以确保我拥有单元测试模板:

dotnet new -i NUnit3.DotNetNew.Template

我的 NuGet 包依赖项

  <ItemGroup>
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.5.0" />
    <PackageReference Include="MSTest.TestAdapter" Version="1.2.0" />
    <PackageReference Include="MSTest.TestFramework" Version="1.2.0" />
    <PackageReference Include="NUnit" Version="3.8.1" />
    <PackageReference Include="NUnit3TestAdapter" Version="3.9.0" />
  </ItemGroup>

更新

正如@Lexli 所指出的,如果您只打算使用 NUnit 测试,则不需要 MSTest 包。

但是,请确保您使用 .NET Core 而不是 .Netcore Standard。 .NET Core 随 Microsoft.netCore.App 运行ning 单元测试所需的 SDK。 .NET 标准 class 库不能 运行 进行单元测试。

引用 .NET Framework 4.0 的项目

在 .NET Framework 为 v4.0 的项目中,我必须使用 NUnit 3.0 版 - 任何更高版本,但未发现该项目。

还是不行?

尝试清除位于 %TEMP% 目录中的临时文件。

注:此路径一般在C:\Users\(yourusername)\AppData\Local\Temp