2015-06-14 59 views
5

我正在开发一个针对dnx451的asp.net 5应用程序。如何使用asp.net 5项目运行nunit测试,特别是使用ReSharper?

asp.net 5项目依赖一些库为单位测试编写的nunit 2.x.所以对我来说,合理的选择是使用nunit来测试asp.net 5项目。

当我在ReSharper中运行单元测试时,ReSharper声称“Test not run”带有附加消息“System.IO.FileNotFoundException:无法加载文件或程序集xxx”。

nunit 2.6.4和3.0.0-beta-2都会导致相同的错误。

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

+1

[如何运行的xUnit 2.1.0-β - \ *的DNX项目的ReSharper]的可能重复(HTTP://计算器.com/questions/30827067/how-to-run-xunit-2-1-0-beta-for-dnx-projects-with-resharper) –

+2

这不是重复的~~~这个是xUnit,另一个是为NUnit。 – Smartkid

回答

3

ReSharper目前不支持DNX测试。这是一个全新的执行模型,尚未针对ReSharper实施。我希望看到支持DNX和asp.net稳定和接近释放。另外,我不相信nunit本身支持作为DNX测试运行者运行 - xunit团队有一个单独的项目可以插入DNX:https://github.com/xunit/dnx.xunit

+0

更糟糕的是,如果您为项目启用构建输出生成(NuGet自动包装部件),实际组件几乎都是* ReSharper期望的地方 - 只有一个文件夹。 – sunside

+0

hey matt - 这个有什么更新? https://github.com/nunit/nunit/issues/575已完成,所以我想知道它的resharper支持 – Dbl

+0

我正在努力吧! ReSharper将支持运行DNX测试。目前,该计划仅用于发现并运行xunit测试 - mstest或nunit测试将被忽略(甚至在编辑器中未发现,因为我们无法运行它们)。我读过nunit问题的方式是它可以在CoreCLR/DNX下运行,但本身不是DNX亚军,就像xunit亚军一样。据我了解,nunit仍然必须实施DNX亚军整合。请纠正我,如果我错了:) – citizenmatt

0

希望,说“特别是随着ReSharper的”,你的意思是你想知道如何运行NUnit的测试,如果可能的话,用ReSharper。话虽这么说,这里是如何无需ReSharper的运行在Visual Studio针对ASP.NET核心NUnit的测试(原名为ASP.NET 5):

  1. 添加一个新的项目,并选择控制台应用程序(.NET核心)。试图使用类库会报错。
  2. 添加最新版本的DOTNET试验NUnit的 NuGet包的(确保包括抢鲜被选中,否则您将无法在饲料的NuGet找到它)
  3. 添加最新版本的NUnit NuGet包。
  4. 编辑project.json和加入这一行:"testRunner": "nunit",

现在,您可以通过选择测试运行测试 - 从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" 
    } 
    } 
} 
相关问题