40

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

4

5 回答 5

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 运行。

于 2016-03-13T02:30:29.890 回答
15

正如 Yousefi 所提到的,通过更新到 ReSharper 版本 10 可以解决此问题。我有同样的问题,并解决了它。

于 2015-12-01T00:31:46.640 回答
4

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

去做这个:

  1. 选择 ReSharper > Options... 菜单项,转到 Unit Testing 面板,然后取消选中 Enable Unit Testing 框。
  2. 重新启动 Visual Studio。
  3. 使用 Test > Windows > Test Explorer 菜单项来显示 Visual Studio 的测试资源管理器。
于 2016-02-25T22:42:11.687 回答
4

什么对我有用(VS 2015):

1) 安装NUnit 测试适配器 3.2

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

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

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

于 2016-08-11T12:23:51.083 回答
0

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

无法使用 ReSharper 的测试运行器运行 NUnit 的单元测试

于 2017-01-02T09:32:53.590 回答