未发现 NUnit v3 单元测试 - “发现测试已完成:发现 0”

Jos*_*ury 1 c# nunit-3.0 .net-core

测试班

[TestFixture]
public class Class1
{
    [Test]
    public void testtesttest()
    {
        Assert.IsTrue(true);
    }
}
Run Code Online (Sandbox Code Playgroud)

依赖关系

在此输入图像描述

我按照这里的指示进行操作。

为什么我无法发现我的单元测试?

Jos*_*ury 5

.NET核心解决方案

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

单元测试项目

我还按照此处MSDN 网站的说明进行操作。

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

dotnet new -i NUnit3.DotNetNew.Template
Run Code Online (Sandbox Code Playgroud)

我的 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>
Run Code Online (Sandbox Code Playgroud)

更新

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

但是,请确保您使用.NET Core而不是.Netcore Standard。.NET Core 附带了运行单元测试所需的 Microsoft.netCore.App SDK。单元测试无法使用 .NET 标准类库运行。

引用 .NET Framework 4.0 的项目

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

还是行不通?

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

注:该路径一般位于C:\Users\(yourusername)\AppData\Local\Temp