Visual studio 2015 VisualStudioTestExplorer多次显示Specflow场景

Visual studio 2015 VisualStudioTestExplorer多次显示Specflow场景,visual-studio-2015,specflow,nunit-3.0,Visual Studio 2015,Specflow,Nunit 3.0,我在VS 2015中使用SpecFlow创建Selenium Webdriver自动化测试(尽管这与此问题无关)。在Visual Studio之外,我使用nunit3-console.exe运行测试 Inside VS my App.config是为 我的问题与测试资源管理器中场景的显示方式有关。如果我创建了一个功能文件“FooTest.feature”,其中有一个场景“addfoo number”,带有tag@mytag,这就是我按特征分组时在测试资源管理器中显示的内容: 或者如果我按班级分

我在VS 2015中使用SpecFlow创建Selenium Webdriver自动化测试(尽管这与此问题无关)。在Visual Studio之外,我使用nunit3-console.exe运行测试

Inside VS my App.config是为

我的问题与测试资源管理器中场景的显示方式有关。如果我创建了一个功能文件“FooTest.feature”,其中有一个场景“addfoo number”,带有tag@mytag,这就是我按特征分组时在测试资源管理器中显示的内容:

或者如果我按班级分组,我会得到:


我能控制这一切吗?或者这就是它的工作方式?理想情况下,我只想查看“mytag”条目。(或类别[mytag]。只是不是全部!)

使用SpecRun+NUnit,您将在SpecFlow+Runner(SpecRun)和NUnit的代码隐藏文件中生成单元测试。 VisualStudio可以同时找到它们,因此您可以将所有内容加倍。 您有此配置的原因吗?你为什么需要NUnit测试?
如果您使用的是SpecFlow+Runner,则只需将其配置为SpecRun

好问题。我正在使用nunit控制台运行来自持续集成的测试,并且在我的一些测试中使用了一些nunit特定的功能。但这可能是我在试验时尝试过的东西之一,我认为这是必要的。我将尝试在没有设置的情况下跑步,看看是否有任何影响。也许值得问一个问题:什么时候有人需要使用SpecRun+NUnit?如果您想使用NUnit控制台运行测试,我收集到+NUnit是必需的,因为如果我将unitTestProvider更改为SpecRun,它将停止工作。也许TestExplorer的显示只是我不得不面对的问题。如果配置SpecRun,则必须使用SpecRun.exe命令行来执行测试。Runner包包含一个VS测试适配器,因此您可以在测试资源管理器中查看测试。但看起来您不想使用SpecFlow+Runner,而是使用NUnit。在这种情况下,只需将unittestprovider配置为NUnit即可。在这种情况下,您需要添加NuGet包NUnit3TestAdapter。这包括NUnit的VS测试适配器。在这种情况下,我将从您的项目中删除所有SpecRun软件包。@Joel作为SpecFlow+Runner的开发人员,我想知道您使用的是哪些NUnit特定的功能。也许《跑步者》已经有了。安德烈亚斯,谢谢你的评论。不久前,我开始使用SpecRun,在尝试与TeamCity集成时,我很难实现自己想要的功能。我会尽力回忆起那是什么,然后再给你回复。如果我今天开始的话,我就不需要换成NUnit了。我的测试生成了一堆nunit2格式的xml文件,我有一个实用程序,可以将它们组合成一个xml文件,在测试运行后,我仍然使用specrun.exe生成html报告。