Domanda

Sto cercando di usare xUnit.net come il test runner per SpecFlow. I SpecFlow 1.2 binari dalla zona ufficiale di download non contengono un provider xUnit.net ma il branch master su GitHub ha uno, quindi ho costruire SpecFlow.Core.dll da quello. Sto utilizzando xUnit.net 1.5.

Tuttavia, quando cambio il nome unitTestProvider nel app.config nel mio progetto spec, ottengo un errore di strumento personalizzato riferimento null e il file generato .feature.cs è la linea singola:

Object reference not set to an instance of an object.

Qualcuno ha riuscito a ottenere SpecFlow al lavoro con xUnit.net? Se sì, come?

È stato utile?

Soluzione

C'è un esempio per SpecFlow con xUnit nel repository SpecFlow-Example:

http://github.com/techtalk/SpecFlow -examples / albero / master / BowlingKata / BowlingKata-xUnit

Al fine di farlo funzionare, è necessario costruire SpecFlow dagli ultimi sorgenti su GitHub (branch master). È inoltre necessario aver installato SpecFlow 1.2 al fine di ottenere una corretta integrazione VisualStudio. Quindi sostituire tutte le assemblee in voi directory di installazione (di default Program Files (x86) \ TechTalk \ SpecFlow) con i gruppi costruiti dalla sorgente.

Dopo questo si dovrebbe essere in grado di costruire ed eseguire il progetto di sopra SpecFlow-Example.

Spero che questo aiuti?

Altri suggerimenti

Ho appena incontrato lo stesso problema e trovato la risposta. Basta usare il lates dist di SpecFlow, sto usando 1.3.5.2. Poi tutto quello che dovete fare è aggiungere un riferimento a xUnit.dll e per creare un file App.config al progetto Spec con questa configurazione:

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

    <specFlow>
       <language feature="en-US" />
         <unitTestProvider name="xUnit" />

         <runtime detectAmbiguousMatches="true" stopAtFirstError="false"
                 missingOrPendingStepsOutcome="Inconclusive" />

         <trace traceSuccessfulSteps="true" traceTimings="false"
             minTracedDuration="0:0:0.1" />
    </specFlow>
  </configuration>

La parte che sta facendo il trucco è la unitTestProvider elemento.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top