2013-05-24 8 views
13

Ich habe Visual Studio 2012 Ultimate Edition installiert und SpecFlow konfiguriert. Ich habe die folgende Konfiguration verwendet, um die Tests in config.xml-Datei auszuführen:Konnte kein SpecFlow-Szenario von Visual Studio 2012 Ultimate Edition ausführen

<specFlow> 
<unitTestProvider name="MsTest" /> 
</specFlow> 

konnte ich die Hoden erstellen und ordnungsgemäß kompilieren. Wenn ich jedoch versucht habe, die Szenarien über das Kontextmenü mit den Optionen "SpecFlow-Szenarien ausführen" oder "SpecFlow-Szenarien debuggen" auszuführen, kann ich keine Aktion sehen. Es sagt nur "Build gelungen" und nichts anderes passiert später.

Kann jemand erklären, ob es eine andere Möglichkeit gibt, die Szenarien auszuführen?

Vielen Dank im Voraus.

Antwort

7

Ihre app.config-Datei sollte sein:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <configSections> 
    <section name="specFlow" type="TechTalk.SpecFlow.Configuration.ConfigurationSectionHandler, TechTalk.SpecFlow" /> 
    </configSections> 
    <specFlow> 
    <unitTestProvider name="MsTest" /> 
    </specFlow> 
</configuration> 

Hier ist ein link zu SpecFlow Wiki.

Dann bauen Sie Ihre Lösung neu auf und Sie sollten die Tests sehen und ausführen können. Sie können Ihre Tests in Test/Windows/Test Explorer anzeigen und ausführen.

Stellen Sie außerdem sicher, dass Sie einen Verweis auf: Microsoft.VisualStudio.QualityTools.UnitTestFramework von Ihrem Testprojekt haben. Hier sind die Schritte:

  1. neues Projekt an: In meinem Fall MVC 4
  2. Add "Unit-Test-Projekt" zur Lösung
  3. SpecFlow nuget Paket hinzufügen "Unit-Test-Projekt"
  4. hinzufügen ein Zufall SpecFlow Merkmal/Test 5) Führen sie den Test sicher macht es funktioniert
+0

Ich habe die gleichen Einstellungen in der Konfigurationsdatei, aber ich kann immer noch nicht mindestens einen Testfall in VS 2012 ausführen. Allerdings kann ich die Tests in VS 2010 ausführen. Bitte vorschlagen. – Nagendra

+0

Es funktioniert für mich: Ich aktualisierte die Antwort mit den Schritten, die ich zum Testen ... –

16

ich bereits alle Sätze dieser Konfiguration hatte, aber ich war noch nicht in der Lage, die Szenarien zu bekommen von der laufen Kontextmenü.

Bis ich überprüft die SpecFlow Optionen (Extras> Optionen> SpecFlow) und setzen Sie "VisualStudio2012" als Test-Runner-Tool (unter Testausführung).

Aus irgendeinem Grund wurde es auf "VisualStudio2010MsTest" festgelegt und dann die Szenarien nicht aus dem Kontextmenü ausgeführt.

+0

Für mich löste dies das Problem, SpecFlow-Szenarien nicht ausführen zu können, indem Sie einfach einen Rechtsklick ausführen und im Projektmappen-Explorer ausführen in VS2012. Danke vielmals! – TimothyHeyden

+5

Danke, in VS2013, Tool wurde auf Auto eingestellt. Nichts passierte, als ich versuchte, meine Tests auszuführen. Einstellung auf ReSharper löste mein Problem! – HaraldV

+0

Ich musste dies tun, um die Kontextmenüoption zum Ausführen von Resharper anstelle des eingebauten Testlaufers zu erhalten. –

0

Ich bin mir bewusst, dass dies ein sehr alter Beitrag ist. Ich hatte das gleiche Problem für die letzten 4 Tage und habe es schließlich mit zufälligen StackOverflow-Links gelöst. Um Zeit für andere Entwickler zu sparen sie helfen können:

  1. ändern ReSharper Version 10-8,2
  2. Tools> Erweiterung & Update> Suche online> NUnit Test Adapter> Installieren
  3. Visual Studio 2013
  4. Specflow Neueste Version
  5. Installieren Sie Unit-Testanbieter NUnit mit dem Befehlsfenster des Paket-Managers nuget. Extras-> Nuget-Paket-Manager -> Paket-Manager-Konsole. Führen Sie dies im Fenster aus - Installieren Sie den Paketspecflow.Nunit
  6. Starten Sie Visual Studio neu.
  7. Gehen Sie zu> something.Feature> Rechtsklick auf Szenario Beschreibung>Lauf Unit Test ODER Run specflow Szenario. Unit-Test-Sitzung sollte angezeigt werden.

Ich hoffe, es wird anderen helfen, das gleiche Problem zu haben.

Verwandte Themen