【问题标题】:JetBrains Resharper 9 Ultimate Test Runner error: NUnit.Core.UnsupportedFrameworkException: Skipped loading assembly {MyAssembly}JetBrains Resharper 9 Ultimate Test Runner 错误:NUnit.Core.UnsupportedFrameworkException:跳过加载程序集 {MyAssembly}
【发布时间】:2016-02-26 10:02:48
【问题描述】:

这似乎是 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 后问题就消失了。

【问题讨论】:

    标签: nunit jetbrains-ide resharper-8.0 test-runner


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 不幸的是,我没有重新安装 resharper 10 Ultimate,但问题仍然存在。
      • @rob 我还必须重新启动 Visual Studio。你试过了吗?
      • 想指出“升级到 Resharper 10”不是一个可接受的解决此问题的方法。这只有在您的许可证允许的情况下才有可能。应该有一个更好的解决方案也适用于 9.1。我使用的是 9.2 版,遇到了同样的问题。 VS2015
      • 将 nunit 降级到 3.0 之前的版本似乎可以解决问题。虽然这对我来说也不是一个可以接受的解决方案,但它是每个人都可以做到的。
      • 一个更清晰的错误消息会很好,但 JetBrains 需要升级是公平的 - 我们不能指望它们在旧版本的 ReSharper 中无限期支持所有未来版本的 NUnit。
      【解决方案3】:

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

      为此:

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

      【讨论】:

      • 工作,除了测试资源管理器中没有测试,而是我右键单击项目并选择“运行所有单元测试”(我有 VS2015 和 resh 10)
      • 您需要确保将 NUnitTestAdaptor 扩展安装到 Visual Studio 中,因为默认情况下 VS 仅显示 MSTest 单元测试。
      【解决方案4】:

      什么对我有用(VS 2015):

      1) 安装NUnit Test Adapter 3.2

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

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

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

      【讨论】:

      • 就我而言,Visual Studio 已禁用 NUnit 测试适配器 (3.7),我无法重新启用它(我按照建议重新启动了 VS,但它不起作用)所以我不得不卸载扩展,重启VS,重新安装扩展,再重启VS,就可以了。
      【解决方案5】:

      进入ReSharper v10 选项屏幕,在Tools | Unit Testing | NUnit 下,有一个When to use NUnit 3 test runner 的选项设置。将此设置为Always 为我解决了这个问题。进行此更改后,上面显示的错误消息不再出现。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-22
        • 2016-10-11
        • 2012-07-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多