SpecRun 在项目中保持活动状态,即使在卸载后也是如此



我相信,我有一个问题,SpecRun。首先,一些背景信息:

我在Visual Studio 2012中启动了一个全新的测试项目。然后我安装了一些NuGet软件包:SpecFlow,Selenium.WebDriver,Coypu和SpecRun.NUnit。在我创建了我的第一个测试代码并想要运行测试后,我看到我的测试在测试资源管理器中显示双倍。其中一个实例显示"[testname]",就像我在文本资源管理器中看到的那样。另一方面,另一个在[项目名称][文件夹名称][功能名称]中显示"[测试名称]。我不需要更多的信息。因此,我想卸载 SpecRun 并转回我习惯使用的 NUnit 测试适配器。在这里,它开始变得混乱。我尝试通过包管理器控制台卸载。PMC说它已被删除,SpecRun已从我的项目中删除,但它仍然显示为已安装在Visual Studio的"管理Nuget包"窗口中。

目前的情况是,我有两个几乎相同的项目,具有相同的设置。旧的正常工作,新的工作正常,但如上所述显示我的所有测试都翻倍了。唯一的区别是我的新项目中有 SpecRun 的某个地方,我无法删除它。因此,我认为 SpecRun 以某种方式造成了这个问题。清洁溶液,重建溶液,重试删除SpecRun,这一切都没有帮助。

澄清一下,我一直遇到的问题:1. 测试在测试资源管理器中显示两次 op,一次是"[测试名称]",另一个是 [项目名称][文件夹名称][功能名称]中的"[测试名称];2. 我似乎无法从Visual Studio 2012中删除SpecRun。我可以从我的解决方案中删除(/隐藏(它,但它一直显示在 Visual Studio 中,我无法完全删除它。

[编辑] SpecRun 仍然想做某事的一个额外指针是,我的 TestExplorer 中仍然有一个 SpecRun 评估测试,我无法摆脱!


[已解决]因为我还没有解决这个问题的方法,所以我学会了忍受它并解决它。当詹姆斯发布答案时,我再次研究这个主题,试图看看詹姆斯给出的答案是否可以解决问题。但我看到的是,所有我无法摆脱的"重复测试"已经消失了,SpecRun 也从 VS2012 中消失了。甚至"SpecRun 评估测试"在我的 TestExplorer 中也消失了。这没有做任何我以前没有做过的事情(重新启动VS2012,清洁解决方案,重建解决方案等(。所以不幸的是,我无法说出是什么解决了问题,但问题已经解决了。

App.config 中应该有两个 SpecRun 条目:

<unitTestProvider name="SpecRun" />
<plugins>
  <add name="SpecRun" />
</plugins>

以及项目引用中对 SpecRun 的两个引用(SpecRun.SpecFlowPlugin 和 TechTalk.SpecRun(

  1. 将 unitTestProvider 更改回 MsTest 或 NUnit
  2. 删除 SpecRun 插件
  3. 删除两个引用
  4. 重新生成功能文件(右键单击并选择运行自定义工具(
  5. 清理并生成项目

这似乎至少为我做了这项工作。

删除对 SpecRun 的所有引用后,NuGet 有点混乱的事实并不重要,但如果您想修复它,请尝试从 packages.config 文件中删除相应的<package>条目。

>我在Visual Studio 2013中遇到了类似的问题。只需禁用Visual Studio的Specflow扩展,重新启动Visual Studio,然后启用扩展,再次重新启动Visual Studio。然后一切都会好起来的。

相关内容

  • 没有找到相关文章

最新更新