2017-05-30 31 views
0

我在VS 2015中使用SpecFlow來創建Selenium Webdriver自動化測試(儘管這與此問題無關)。在Visual Studio之外,我使用nunit3-console.exe運行測試。Visual Studio Test Explorer多次顯示Specflow場景

裏面VS我的App.config是設置爲<unitTestProvider name="SpecRun+NUnit" />

我的問題涉及到的場景是如何出現在測試資源管理器。如果我創建了一個功能文件「FooTest.feature」用單一的方案「添加富號」與標籤@mytag,這是在測試資源管理器顯示的內容,當我按性狀:

Test Explorer grouped by trait

或者,如果我通過班集體,我得到:

Test Explorer grouped by Class

我必須在這個任何控制?或者這只是它的工作方式?理想情況下,我只想查看「mytag」條目。 (或類別[mytag],只是不是所有的!)

回答

0

使用SpecRun + NUnit,您在SpecFlow + Runner(SpecRun)和NUnit的代碼隱藏文件後面生成單元測試。 Visual Studio發現它們並因此讓所有東西都變成雙倍。 你有這個配置的原因嗎?爲什麼你需要NUnit測試? 如果您使用SpecFlow + Runner,則必須將其僅配置爲SpecRun

+0

好問題。我使用nunit控制檯從持續集成運行測試,並且在一些測試中我使用了一些nunit特定的功能。但是,這可能是我在嘗試認爲有必要時嘗試的那些東西之一。我會試着運行沒有這個設置,看看是否有任何影響。 也許值得提問:什麼時候有人需要使用SpecRun + NUnit? – Joel

+0

如果你想用nunit控制檯運行測試,我收集+ NUnit是必需的,因爲如果我將unitTestProvider更改爲停止工作的SpecRun。 也許TestExplorer顯示器只是我必須忍受的事情。 – Joel

+0

如果您配置SpecRun,則必須使用specrun.exe命令行來執行測試。 SpecRun.Runner軟件包包含一個VS測試適配器,以便您在測試瀏覽器中看到測試。但它看起來像你不想使用SpecFlow + Runner,但NUnit。在這種情況下,您可以將unittestprovider簡單地配置爲NUnit。在這種情況下,你想添加NuGet包NUnit3TestAdapter。這包括用於NUnit的VS測試適配器。在這種情況下,我會從您的項目中刪除所有SpecRun軟件包。 –