Resharper 将我的 NUnit 测试标记为未使用
Posted
技术标签:
【中文标题】Resharper 将我的 NUnit 测试标记为未使用【英文标题】:Resharper marks my NUnit tests as unused 【发布时间】:2014-05-19 10:51:55 【问题描述】:我正在使用 Visual Studio 2008 和 NUnit 2.6.3 以及 Resharper 8.2
Resharper 可以识别我的单元测试(因此我可以使用 Resharper 运行它们),但它们都被标记为未使用(类以及单个测试方法)。我知道如何在每个测试类中通过注释来抑制警告,但我正在寻找没有此类 cmets 的解决方案,因为它们也会影响真正未使用的测试代码(因此应该警告我)。
据我了解,这对于 NUnit 测试来说应该是开箱即用的,但我无法让它发挥作用。我必须更改一些设置吗?我用谷歌搜索了很长时间,但没有找到任何东西。
【问题讨论】:
你是说 Resharper 将代码标记为未使用? 是的,我刚刚在问题中澄清了。 你决定上课internal
了吗?因为对于 internal
类,ReSharper 可能会检查您的程序集并确定该类从未使用过,但对于 public
类,ReSharper 可能会说,“好的,这是供我从这里看不到的代码使用的。”如果您明确决定保留测试课程internal
,我可以理解,但是您做到了吗?
不,课程是公开的。从我不理解的 Resharper 来看,它应该足够聪明,可以忽略由于 [TestFixture] 注释而没有引用该类的事实,无论其可见性如何。
无法使用 NUnit 2.6.3 和 Resharper 8.2.1 进行复制,一旦添加了 [Test]
属性,Resharper 不会将代码显示为未使用.. 虽然在 VS2013 中。 - postimg.org/image/681rgwd0d
【参考方案1】:
您需要安装 ReSharper ExternalAnnotations 来解决问题。 VS2008不支持ReSharper Extension Manager,请手动安装:
-
下载nuget package;
使用任何存档软件(如 WinZip)打开它;
提取
..\ReSharper\vAny\annotations\
到C:\Program Files (x86)\JetBrains\ReSharper\v8.2\Bin\ExternalAnnotations
的所有文件夹;
然后重新启动 Visual Studio;
【讨论】:
以上是关于Resharper 将我的 NUnit 测试标记为未使用的主要内容,如果未能解决你的问题,请参考以下文章