2017-05-30 5 views
0

Ich verwende SpecFlow in VS 2015, um Selenium Webdriver-Automatisierungstests zu erstellen (obwohl das für diese Frage nicht relevant ist). Außerhalb von Visual Studio führe ich die Tests mit nunit3-console.exe aus .Visual Studio Test Explorer zeigt Specflow Szenarien mehrmals

Innerhalb VS mein App.config ist Setup für <unitTestProvider name="SpecRun+NUnit" />

Meine Frage bezieht sich auf, wie Szenarien erscheinen in Test Explorer. Wenn ich eine Funktion Datei „FooTest.feature“ mit einem einzigen Szenario „Add foo Zahlen“ mit dem Tag @mytag erstellen, ist es das, was in Test Explorer zeigt, wenn ich Gruppe von Merkmalen:

Test Explorer grouped by trait

Oder wenn ich I-Gruppe von Klasse erhalten:

Test Explorer grouped by Class

habe ich keine Kontrolle über diese haben? Oder funktioniert das genau so? Idealerweise möchte ich nur den 'Mytag'-Eintrag anzeigen. (Oder Kategorie [mytag]. Nur nicht alle!)

Antwort

0

Mit SpecRun + NUnit generieren Sie Komponententests im Code hinter der Datei für SpecFlow + Runner (SpecRun) und NUnit. Visual Studio findet sie beide und so erhalten Sie alles doppelt. Gibt es einen Grund, warum Sie diese Konfiguration haben? Warum brauchen Sie die NUnit-Tests? Wenn Sie SpecFlow + Runner verwenden, müssen Sie nur SpecRun konfigurieren

+0

Gute Frage. Ich benutze nunit-Konsole, um Tests von der kontinuierlichen Integration auszuführen, und ich verwende einige nunit-spezifische Fähigkeiten in einigen meiner Tests. Aber das könnte eines der Dinge sein, die ich ausprobierte, als ich experimentierte, dass es nötig war. Ich werde versuchen, ohne diese Einstellung zu laufen und zu sehen, ob es irgendwelche Auswirkungen gibt. Vielleicht lohnt es sich, die Frage zu stellen: Wann müsste jemand SpecRun + NUnit * benutzen? – Joel

+0

Ich erhalte die + NUnit ist erforderlich, wenn Sie Tests mit Nunit-Konsole ausführen möchten, denn wenn ich unitTestProvider zu SpecRun ändern, die nicht mehr funktioniert. Vielleicht ist das TestExplorer-Display nur etwas, mit dem ich leben muss. – Joel

+0

Wenn Sie SpecRun konfigurieren, müssen Sie die specrun.exe-Befehlszeile verwenden, um die Tests auszuführen. Das SpecRun.Runner-Paket enthält einen VS-Testadapter, sodass Sie die Tests im Test-Explorer sehen können. Aber es sieht so aus, als ob Sie nicht SpecFlow + Runner, sondern NUnit verwenden möchten. In diesem Fall konfigurieren Sie den unittestprovider einfach auf NUnit. In diesem Fall möchten Sie das NuGet-Paket NUnit3TestAdapter hinzufügen. Dies beinhaltet den VS Test Adapter für NUnit. In diesem Fall würde ich alle SpecRun-Pakete aus Ihrem Projekt entfernen. –

Verwandte Themen