JetBrains Resharper 9 Ultimate Test Runner error: NUnit.Core.UnsupportedFrameworkException: Skipped loading assembly {MyAssembly}

JetBrains Resharper 9 Ultimate Test Runner error: NUnit.Core.UnsupportedFrameworkException: Skipped loading assembly {MyAssembly}

这似乎是引用旧版本 NUnit 的 JetBrains Resharper 9.1 Ultimate Test Runner 的错误。我在程序集中使用 NUnit 3.0。

[Window Title]
Unit Test Runner

[Main Instruction]
Unit Test Runner failed to run tests

[Expanded Information]
at NUnit.Core.Builders.TestAssemblyBuilder.GetCandidateFixtureTypes(Assembly assembly, String ns)
at NUnit.Core.Builders.TestAssemblyBuilder.GetFixtures(Assembly assembly, String ns)
at NUnit.Core.Builders.TestAssemblyBuilder.Build(String assemblyName, Boolean autoSuites)
at NUnit.Core.Builders.TestAssemblyBuilder.Build(String assemblyName, String testName, Boolean autoSuites)
at NUnit.Core.TestSuiteBuilder.Build(TestPackage package)
at NUnit.Core.SimpleTestRunner.Load(TestPackage package)
at NUnit.Core.ProxyTestRunner.Load(TestPackage package)
at NUnit.Core.RemoteTestRunner.Load(TestPackage package)
at JetBrains.ReSharper.UnitTestRunner.nUnit.BuiltInNUnitRunner.RunTests(IRemoteTaskServer server, Dictionary`2 tests, Dictionary`2 fixtures, List`1 explicitly, Boolean useAddins, List`1 assemblies)

编辑: 升级到 Resharper 版本 10 后问题消失了。

如 Yousefi 所述,此问题已通过更新到 ReSharper 版本 10 得到修复。我遇到了同样的问题并已解决。

如另一个答案中所述,真正的解决方法是升级到 ReSharper 10。但如果您不能这样做,您可以禁用 ReSharper 9 的单元测试功能并回退到 Visual Studio' s 内置测试资源管理器。

为此:

  1. 选择 ReSharper > 选项...菜单项,转到单元测试面板,取消选中启用单元测试框。
  2. 重新启动Visual Studio。
  3. 使用测试 > Windows > 测试资源管理器菜单项显示 Visual Studio 的测试资源管理器。

如已接受的答案中所述,ReSharper 9 不支持 NUnit 3。 所述解决方案确实有效(即更新到 ReSharper 10),但是,对于那些没有此选项(例如许可)的用户,您可以按照以下步骤降级 NUnit 版本:

  1. 通过转到工具 -> Nuget 包管理器 -> 包管理器控制台打开 Nuget 包管理器控制台
  2. 在弹出的控制台中(通常在底部),在 "Default project:" 的下拉菜单下选择您要降级的测试项目
  3. 运行以下命令 Uninstall-Package NUnit 其次是 Install-Package NUnit -Version 2.6.4

您的测试现在应该 运行 使用 ReSharper 9。

对我有用的(VS 2015):

1) 安装 NUnit Test Adapter 3.2

2) 打开测试资源管理器:VS -> 菜单测试 -> Windows -> 测试资源管理器

3) 运行 测试:在测试资源管理器 window 中(如果没有测试,重建解决方案)select 将测试编辑到 运行,右键单击并 "Run Selected Tests"

瞧,我可以在测试资源管理器 window 和 select 中看到测试并调试它。

Going into the ReSharper v10 Options screen, under Tools | Unit Testing | NUnit, there is an option setting for When to use NUnit 3 test runner. Setting this to Always resolved the problem for me. The error message shown above no longer appears after making this change.

Unable to run NUnit's unit tests with ReSharper's test runner