JetBrains Resharper 9最终测试运行程序错误:NUnit.Core.UnsupportedFrameworkException:跳过加载程序集{MyAssembly}

JetBrains Resharper 9最终测试运行程序错误:NUnit.Core.UnsupportedFrameworkException:跳过加载程序集{MyAssembly},nunit,jetbrains-ide,resharper-8.0,test-runner,Nunit,Jetbrains Ide,Resharper 8.0,Test Runner,这似乎是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.GetCandidat

这似乎是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)
编辑:
升级到Resharper版本10后,问题就消失了。

正如Yousefi所提到的,这可以通过更新到Resharper版本10来解决。我遇到了同样的问题,解决了它。

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

为此:

  • 选择重新竖琴>选项。。。菜单项,转到单元测试面板,取消选中启用单元测试框
  • 重新启动VisualStudio
  • 使用测试>窗口>测试资源管理器菜单项显示Visual Studio的测试资源管理器

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

  • 打开Nuget Package Manager控制台,进入工具->Nuget Package Manager->Package Manager控制台
  • 在弹出的控制台(通常在底部)中,在“默认项目:”下拉列表下,选择要降级的测试项目
  • 运行以下命令
    卸载软件包NUnit
    然后
    安装软件包NUnit-版本2.6.4
  • 您的测试现在应该使用ReSharper 9运行。

    什么对我有效(VS 2015):

    1) 安装

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

    3) 运行测试:在测试资源管理器窗口(如果没有测试,则重新生成解决方案)中,选择要运行的测试,右键单击并“运行所选测试”

    瞧,我可以在测试资源管理器窗口中看到测试,选择一个并调试它

    进入
    ReSharper v10
    Options屏幕,在
    Tools | unittesting | NUnit
    下,有一个
    选项设置,用于设置何时使用NUnit 3 test runner
    。将此设置为“始终”为我解决了问题。进行此更改后,上面显示的错误消息不再显示


    不幸的是,没有。。我重新安装了resharper 10 ultimate,但问题仍然存在。@rob我还必须重新启动Visual Studio。您试过了吗?我想指出,“升级到Resharper 10”不是解决此问题的可接受的解决方案。这只有在您的许可证允许的情况下才可能实现。应该有一个更好的解决方案也适用于9.1。我使用的是9.2版,遇到了同样的问题。VS2015将nunit降级到3.0之前的版本似乎可以做到这一点。虽然这对我来说也不是一个可接受的解决方案,但每个人都可以这样做。一条更清晰的错误消息会很好,但JetBrains需要升级是公平的-我们不能期望他们在旧版本的ReSharper中无限期地支持所有未来版本的NUnit。这很有效,只是测试浏览器中没有测试,相反,我右键单击项目并选择“运行所有单元测试”(我有VS2015和resh 10),您需要确保将NuniteStatadaptor扩展安装到Visual Studio中,因为默认情况下VS仅显示MSTest单元测试。在我的情况下,Visual Studio已禁用NUnit测试适配器(3.7),我无法重新启用它(我按照建议重新启动了VS,但它不起作用)所以我必须卸载扩展,重新启动VS,然后重新安装扩展,然后再次重新启动VS,然后它就起作用了。