2013-05-24 8 views
13

Ho installato Visual Studio 2012 Ultimate Edition e configurato SpecFlow. Ho usato la seguente configurazione per eseguire i test in file config.xml:Impossibile eseguire uno scenario SpecFlow da Visual Studio 2012 Ultimate Edition

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

sono stato in grado di creare i testicoli e compilare correttamente. Ma quando ho provato a eseguire gli scenari dal menu di scelta rapida con l'opzione "Esegui SpecFlow Scenarios" o "Debug SpecFlow scenari", non sono in grado di vedere alcuna azione. Dice solo "Build riuscito" e nient'altro accade dopo.

Qualcuno può gentilmente spiegare se esiste un altro modo di eseguire gli scenari?

Grazie in anticipo.

risposta

7

Il file app.config dovrebbe essere:

<?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> 

Ecco un link a SpecFlow wiki.

Quindi ricostruire la soluzione e si dovrebbe essere in grado di vedere ed eseguire i test. È possibile visualizzare ed eseguire i test da Test/Windows/Test Explorer.

Assicurarsi inoltre di avere un riferimento a: Microsoft.VisualStudio.QualityTools.UnitTestFramework dal progetto di test. Ecco i passaggi:

  1. Crea un nuovo progetto: Nel mio caso MVC 4
  2. Add "Test Project Unit" alla soluzione
  3. Aggiungi pacchetto NuGet SpecFlow a "Test Project Unit"
  4. Add casuale caratteristica SpecFlow/test 5) Eseguire il test per assicurarsi funziona
+0

Ho le stesse impostazioni nel file di configurazione, ma ancora non sono in grado di eseguire almeno un singolo test in VS 2012. Tuttavia, sono in grado di eseguire i test in VS 2010. Suggerire gentilmente. – Nagendra

+0

Funziona per me: ho aggiornato la risposta con i passaggi che ho provato per testare ... –

16

ho già avuto tutto questo set di configurazione, ma non ero ancora in grado di ottenere gli scenari per l'esecuzione dal menù contestuale.

Fino a quando ho rivisto le opzioni SpecFlow (Strumenti> Opzioni> SpecFlow) e impostare "VisualStudio2012", come test Runner strumento (Under Test Execution).

Per qualche motivo è stato impostato su "VisualStudio2010MsTest" e quindi gli scenari non sono stati eseguiti dal menu di scelta rapida.

+0

Per me, questo ha risolto il problema di non essere in grado di eseguire lo scenario SpecFlow semplicemente facendo un clic destro e "esegui" in Solution Explorer in VS2012. Molte grazie! – TimothyHeyden

+5

Grazie, in VS2013, lo strumento è stato impostato su automatico. Non è successo nulla quando ho provato a eseguire i miei test. L'impostazione su ReSharper ha risolto il mio problema! – HaraldV

+0

Ho dovuto eseguire questa operazione per ottenere l'opzione del menu di scelta rapida per eseguire Resharper anziché il programma di test integrato. –

0

Sono consapevole che questo è un post molto vecchio. Avevo lo stesso problema per gli ultimi 4 giorni e alla fine l'ho risolto con link random StackOverflow. Per risparmiare tempo per gli altri sviluppatori può aiutare:

    versione
  1. Variazione ReSharper 10-8,2
  2. Strumenti> Extension & Update> Ricerca on-line> Test Adapter NUnit> Installa
  3. Visual Studio 2013
  4. Specflow Ultima versione
  5. Installare il provider di test dell'unità NUnit utilizzando la finestra di comando del gestore pacchetti nuget. Strumenti-> Gestore pacchetti Nuget -> Console Gestione pacchetti. Esegui questo nella finestra - Installa il pacchetto specflow.Nunit
  6. Riavvia Visual Studio.
  7. Passare a> qualcosa.Funzione> fare clic con il tasto destro del mouse sulla descrizione dello scenario>test unità di corsa O scenario di specflow esecuzione. La sessione di test dell'unità dovrebbe apparire.

Spero che aiuti gli altri ad avere lo stesso problema.