prima di tutto sono nuovo in SpecFlow.SpecFlow: ClassInitialize e TestContext
Ho un file di funzionalità che ho/desidera automatizzare utilizzando MSTest per l'esecuzione come test funzionale che coinvolge un server completamente configurato, accesso ai dati ... Per questo scopo devo configurare il server con i dati in i blocchi "Dati" dello SpecFlow e avviarlo in seguito. Devo anche copiare alcuni file nella directory di output del test.
Nei test funzionali non SpecFlow stavo utilizzando l'attributo ClassInitialize per ottenere TestDeploymentDir da TestContext; qualcosa di simile:
[ClassInitialize]
public static void ClassSetup(TestContext context)
{
TargetDataDeploymentRoot = context.TestDeploymentDir;
}
Ora con SpecFlow non posso utilizzare questo attributo più come esso viene utilizzato da SpecFlow sé. Esistono alcuni nuovi attributi, come BeforeFeature che agisce in modo simile, ma non passa il TestContext come parametro.
Ho solo bisogno di accedere al TestDeploymentDir di TestContext per copiare alcuni file lì prima di riavviare veramente il mio server di test funzionale - facilmente eseguibile senza SpecFlow ma quasi impossibile con SpecFlow.
Come gestire questo problema?
È possibile a tutti?
Grazie mille per un consiglio!
Robert
Ambiente:
- Visual Studio 2012
- SpecFlow 1.9.0.77
è possibile generare test MSTest dei tuoi caratteristica fiels con specflow: http: //stackoverflow.com/questions/2984318/how-to-run-specflow-tests-in-visual-studio-2010 – nemesv
Grazie per la risposta. Sto già generando test MSTest dai miei file di funzionalità, ma come accennato in precedenza, non ho accesso a TestContext. –
Forse il [AssemblyInitialize] (http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools.unittesting.assemblyinitializeattribute (v = vs.80) .aspx) può funzionare per il tuo scenario, specflow don non usarlo Altrimenti con i file di funzione generati 'MsTestGeneratorProvider' non è possibile ottenere il' TestContext' provato. Tuttavia è possibile derivare da 'MsTestGeneratorProvider' e generare test che memorizzano' TestContext' da qualche parte all'interno di specflow. – nemesv