为什么Resharper不接受我的NUnit测试?

时间:2011-11-14 03:11:40

标签: nunit resharper

我最近从MSTest转换为NUnit。

我这样做了
  • 将所有[TestMethod]替换为[Test],将[TestClass]替换为[Test]等。
  • 我还删除了Microsoft.VisualStudio ...引用并添加了NUnit.framework nuget包。

由于我已经这样做了,Resharper没有在方法旁边显示小测试图标。如果我使用Ctrl + U运行测试,则R显示正确的计数,但实际上并不运行任何一个。

有没有人有任何想法?

编辑:我的程序集必定会出现问题,因为我创建了一个名为Test.Web的新程序,并创建了一个只有[TestFixture]的简单类,Resharper立即识别它。 / p>

11 个答案:

答案 0 :(得分:15)

我遇到了同样的问题,我解决了这个问题:

  1. 转到Resharper选项 - >工具 - >单元测试 - >单元测试提供商
  2. 取消选择Nunit以外的任何内容,然后按OK。
  3. 它现在应该可以正常工作,您甚至可以重新选择已禁用的提供程序,它仍然可以正常工作。

答案 1 :(得分:9)

删除.ReSharper.user  源目录中的文件(与解决方案文件位于同一目录中)为我解决了同样的问题。

答案 2 :(得分:3)

装配有问题。我不确定是什么。但我创建了一个新的空白类库,安装了NUnit,Should和Moq。然后将我以前的程序集中的类复制到新程序集中,并将voilá复制到一起。

答案 3 :(得分:2)

当它因某种原因停止工作时我遇到了问题。

解决方案是在 NUnit Resharper->选项 - >工具 - >“单元测试” >,您将为要支持的测试设置复选框。会有类似“启用NUnit 3x支持”

像这样:

enter image description here

答案 4 :(得分:1)

当测试类太大而ReSharper暂停代码分析时,可能会发生这种情况。对于这些文件,可以右键单击代码编辑器的垂直滚动条上方的“暂停”图标,然后选择“恢复分析”。

Code Analysis has been paused because document size has exceeded the threshold

这将在解决方案的ForceIncluded文件中添加一个.DotSettings.user条目,因此您无需再次执行该操作:

<s:String x:Key="/Default/CodeInspection/ExcludedFiles/FilesAndFoldersToSkip2/=.../@EntryIndexedValue">ForceIncluded</s:String>

答案 5 :(得分:0)

我遇到了类似的问题,并确定MSpec插件正在干扰。解决方法是禁用MSpec测试运行器:Resharper-&gt;选项 - &gt;插件。

答案 6 :(得分:0)

对我来说,右键单击测试治具类名称,然后单击Visual Studio的(不是Resharper的)“运行测试”菜单项,使R#图标再次出现。


enter image description here


P.S。这是在Visual Studio 2017中

答案 7 :(得分:0)

我按照this StackOverflow question上的建议进行了工作。具体来说:

  • 添加对Microsoft.NET.Test.Sdk的NuGet引用
  • 更新ReSharper
  • 重新启动Visual Studio

答案 8 :(得分:0)

如果您有多个测试项目的nunit,NUnit3TestAdapter和Microsoft.NET.Test.Sdk版本不匹配,则会发生此问题。

当我将新的测试项目添加到现有解决方案时,Visual Studio默认情况下安装了这些库的最新版本。所有测试都在内置的测试资源管理器中运行,但是ReSharper无法看到新的测试项目。

要修复:在解决方案资源管理器中右键单击解决方案,选择“管理解决方案的NuGet软件包”,然后转到“合并”选项卡。选择要用于每个库的版本,并将其安装在所有测试项目中。

答案 9 :(得分:0)

这是在一个包含大量项目的解决方案中发生的。 (我检查了一下,并且它没有暂停分析。)在所有其他解决方案中运行测试都可以正常工作。我尝试将NUnit 3测试适配器软件包添加到我的所有项目中,但是由于我使用的是Resharper,因此我很确定那不会解决任何问题-没做。最后,我更新到了最新版本的Resharper。安装程序说它失败了,但是在那之后,Resharper可以再次看到我的单元测试。很难说这是否可以作为“答案”,但这似乎是促使我恢复正常运行的原因。

答案 10 :(得分:0)

更新到最新版本的 resharper 并在“.testsettings”文件中添加应用程序根目录的位置

Applications folder