如何使用asp.net 5项目运行nunit测试,特别是使用ReSharper?

时间:2015-06-14 07:01:09

标签: nunit resharper asp.net-core

我正在开发一个针对dnx451的asp.net 5应用程序。

asp.net 5项目依赖于为nunit 2.x编写的单元测试库。因此,对我来说合理的选择是使用nunit来测试asp.net 5项目。

当我在ReSharper中运行单元测试时,ReSharper使用附加消息“System.IO.FileNotFoundException:无法加载文件或程序集xxx”说“测试未运行”。

nunit 2.6.4和3.0.0-beta-2都会产生同样的错误。

任何人都成功运行针对dnx项目的nunit测试吗?

4 个答案:

答案 0 :(得分:3)

ReSharper目前不支持DNX测试。它是一个全新的执行模型,尚未为ReSharper实现。我希望看到DNX和asp.net稳定并接近发布的支持。另外,我不认为nunit本身支持作为DNX测试运行器运行 - xunit团队有一个单独的项目可以插入DNX:https://github.com/xunit/dnx.xunit

答案 1 :(得分:0)

NUnit不支持DNX核心。

请按照此问题查看nunit何时添加dnx支持。 https://github.com/nunit/nunit/issues/575

答案 2 :(得分:0)

从v3.0.0-RC开始,NUnit看起来有(部分)支持 http://www.alteridem.net/2015/11/04/testing-net-core-using-nunit-3/

答案 3 :(得分:0)

希望通过说"特别是使用ReSharper",你的意思是你想知道如何运行NUnit测试,如果可能的话,还想知道如何使用ReSharper。话虽如此,这里是如何在Visual Studio中对ASP.NET Core(以前称为ASP.NET 5)运行NUnit测试而不需要ReSharper:

  1. 添加新项目并选择控制台应用程序(.NET Core)。尝试使用类库目前会报告错误。
  2. 添加最新版本的 dotnet-test-nunit NuGet包(确保选中 Include prerelease ,否则您无法在NuGet feed)
  3. 添加最新版本的 NUnit NuGet包。
  4. 修改 project.json 并添加以下行:"testRunner": "nunit",
  5. 现在,您可以从Visual Studio菜单中选择测试 - 运行 - 所有测试来运行测试。

    您的 project.json 文件应如下所示:

    {
      "version": "1.0.0-*",
      "buildOptions": {
        "emitEntryPoint": true
      },
    
      "dependencies": {
        "dotnet-test-nunit": "3.4.0-beta-1",
        "ProjectUnderTest": "1.0.0-*",
        "Microsoft.NETCore.App": {
          "type": "platform",
          "version": "1.0.0"
        },
        "NUnit": "3.4.1"
      },
      "testRunner": "nunit",
    
      "frameworks": {
        "netcoreapp1.0": {
          "imports": "dnxcore50"
        }
      }
    }