运行 使用 ReSharper 在 .NET Core 中进行 NUnit 测试

Running NUnit Tests in .NET Core with ReSharper

当这些测试在 .NET Core 项目中时,是否可以 运行 使用 R# 进行 NUnit 测试? 我一直无法做到这一点。如果我 select 生成输出的选项,那么 R# 找不到 NUnit 程序集。

更新:我和 NUnit 团队发布了完整的 .NET Core 支持,它是一个控制台运行器,可以在命令行运行测试并在 Visual Studio 的测试资源管理器。有关详细信息,请参阅 NUnit 3 Tests for .NET Core RC2 and ASP.NET Core RC2


R#、NUnit Visual Studio 适配器,甚至 nunit3-console.exe 都不支持 .NET Core。 .NET Core projects currently must be tested using NUnitLite 通过创建自执行测试程序集。

NUnit 团队正在研究更好的解决方案,有望在未来几个月内发布。

Update December 2016: ReSharper 2016.3 is now available. The xUnit and NUnit test runners will work on ReSharper >= 2016.3

ReSharper 抢先体验计划 2016.3 EAP 现在支持 运行 来自 R# 的 .NET Core 测试,它非常棒,它甚至可以为每个框架运行测试。

https://confluence.jetbrains.com/display/ReSharper/ReSharper+2016.3+EAP

Project.json(根据您的用例进行适当更改)

  {
  "version": "1.0.0-*",

  "testRunner": "nunit",

  "runtimes": {
    "win7-x64": {},
    "win8-x64": {},
    "win10-x64": {}
  },

  "dependencies": {
    "NUnit": "3.4.1",
    "dotnet-test-nunit": "3.4.0-beta-2"
  },

  "frameworks": {
    "net451": {
    },

    "netcoreapp1.0": {
      "imports": [
        "dotnet5.6",
        "portable-net45+win8"
      ]
    }
  }
}

在 vs 2015.3 和 Resharper 2017.2 中,您可以使用 NUnit for .Net Core 2 创建单元测试。

  • 创建 .Net Core 2 库
  • 修改.csproj,添加nuget库:

        <ItemGroup>
            <PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.0.0" />
            <PackageReference Include="NUnit" Version="3.8.1" />
            <PackageReference Include="NUnit3TestAdapter" Version="3.8.0" />
          </ItemGroup>
    

有关详细信息,请阅读:Nunit docs: .NET Core and .NET Standard