JetBrains Resharper 9 Ultimate Test Runner错误:NUnit.Core.UnsupportedFrameworkException:跳过加载程序集{MyAssembly}

Pou*_*efi 40 nunit jetbrains-ide test-runner resharper-8.0

这似乎是JetBrains Resharper 9.1 Ultimate Test Runner引用旧版NUnit的错误.我在我的程序集中使用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)
Run Code Online (Sandbox Code Playgroud)

编辑:问题消失了升级到Resharper的第10版.

小智 27

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

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

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


Eva*_*n M 15

正如Yousefi所提到的,通过更新到ReSharper的第10版来解决这个问题.我有同样的问题,并解决了它.

  • 想指出"升级到Resharper 10"不是这个问题的可接受的解决方案.这只有在您的许可证允许的情况下才有可能.应该有一个更好的解决方案适用于9.1.我使用的是9.2版,遇到了同样的问题.VS2015 (55认同)
  • 将nunit降级到3.0之前的版本似乎可以解决问题.虽然这对我来说也不是一个可以接受的解决方案,但每个人都能做到这一点. (13认同)
  • 更清晰的错误消息会很好,但JetBrains要求升级是公平的 - 我们不能指望他们无限期地支持旧版ReSharper中所有未来版本的NUnit. (2认同)