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

C# SpecRun在项目中保持活动状态,即使在卸载之后也是如此,c#,visual-studio-2012,specflow,specrun,C#,Visual Studio 2012,Specflow,Specrun,我想我对斯派伦有意见。首先,一些背景资料: 我在VisualStudio2012中启动了一个全新的测试项目。然后我安装了一些NuGet软件包:SpecFlow、Selenium.WebDriver、Coypu和SpecRun.NUnit。在我创建了第一个测试代码并想要运行测试之后,我发现我的测试在测试浏览器中显示了两次。其中一个事件显示“[testname]”,正如我在文本资源管理器中看到的那样。另一方面,另一个在[projectname][foldername][featurename]中显示

我想我对斯派伦有意见。首先,一些背景资料:

我在VisualStudio2012中启动了一个全新的测试项目。然后我安装了一些NuGet软件包:SpecFlow、Selenium.WebDriver、Coypu和SpecRun.NUnit。在我创建了第一个测试代码并想要运行测试之后,我发现我的测试在测试浏览器中显示了两次。其中一个事件显示“[testname]”,正如我在文本资源管理器中看到的那样。另一方面,另一个在[projectname][foldername][featurename]中显示“[testname]。我不想要更多的信息。因此,我想卸载SpecRun并返回到我用于此的NUnit测试适配器。这里对我来说开始变得一团糟。我试图通过PackageManager控制台卸载。PMC说它已被删除,SpecRun已从我的项目中删除,但它仍显示为已安装在Visual Studio的“Manage Nuget Packages”窗口中

我目前的情况是,我有两个几乎相同的项目,具有相同的设置。旧的测试正常工作,新的测试正常工作,但显示我的所有测试加倍,如上所述。唯一的区别是我的新项目运行在其中的某个地方,我无法删除它。因此,我认为SpecRun在某种程度上造成了这个问题。清理解决方案,重建解决方案,尝试删除SpecRun,所有这些都没有帮助

为了澄清我一直遇到的问题: 1.测试在测试浏览器中显示op两次,一次为“[testname]”,另一次为“[projectname][foldername][featurename]”中的“[testname]”; 2.似乎我无法从Visual Studio 2012中删除SpecRun。我可以从我的解决方案中删除(/隐藏)它,但它一直显示在VisualStudio中,我无法完全删除它

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


[已解决]
因为我还没有找到解决这个问题的办法,所以我学会了接受它,并努力解决它。当詹姆斯发布答案时,我再次审视了这个问题,试图看看詹姆斯给出的答案是否能解决这个问题。但我看到的是,所有我无法摆脱的“重复测试”都从VS2012中消失了,而SpecRun也从VS2012中消失了。甚至我的TestExplorer中也没有“SpecRun评估测试”。这没有做任何我以前没有做过的事情(重新启动VS2012、清理解决方案、重建解决方案等)。不幸的是,我不知道是什么解决了问题,但问题已经解决。

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

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

在项目引用中有两个对SpecRun的引用(SpecRun.SpecFlowPlugin和TechTalk.SpecRun)

  • 将unitTestProvider更改回MsTest或NUnit
  • 删除SpecRun插件
  • 删除两个引用
  • 重新生成要素文件(单击鼠标右键并选择“运行自定义工具”)
  • 清理并构建您的项目
  • 这似乎至少对我来说是个好办法


    一旦删除了对SpecRun的所有引用,那么NuGet有点混乱这一事实其实并不重要,但是如果您想修复它,请尝试从packages.config文件中删除相应的
    条目

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

    谢谢你的明确回答。如果这是解决问题的答案,我不知道(请参阅上面的编辑以了解原因)。因此,我无法将此标记为已接受的答案。您可以通过在解决方案资源管理器中右键单击项目并选择“重新生成功能文件”来重新生成项目中的所有功能文件