Me estoy mojando los pies con SpecFlow, y realmente lo disfruto.SpecFlow - ordenación de varios métodos BeforeScenario
Excepto por algunos problemas espinosos ... como el código de configuración de características y escenarios.
En un archivo "de uso general" llamada InfrastructureSteps.cs
, tengo código de configuración general que debe ser ejecutado para cada escenario - por lo que mi método es como la siguiente:
[BeforeScenario]
public void SetupDbContext()
{
// define some basic stuff, set up a database transaction context etc.
}
Esto se debe ejecutar antes de cada escenario, y hasta ahora, ha funcionado bien.
Pero ahora, tengo dos escenarios en un archivo de pasos específicos de prueba que también necesitan una configuración bastante extensa para poder ejecutarlos. Así que marcaron su escenario en el .feature
con una etiqueta:
@needs_extra_setup
Scenario: .....
Given .....
When .....
Then ......
e implementado un método BeforeScenario
configuración de la prueba específica:
[BeforeScenario("needs_extra_setup")]
public void DoExtraSetupForMyScenario()
{
// do stuff
}
Funciona - que se llama - pero se llama a antes el método de uso general [BeforeScenario]
recibe el nombre :-(y, por lo tanto, falla; las cosas que se configuran en ese método de configuración de propósito general no están presentes y mi código falla.
Entonces, ¿hay alguna forma en SpecFlow para ordenar los métodos [BeforeScenario]
? ¿O puedo decir un método específico [BeforeScenario]
para ejecutar primero un método "base" [BeforeScenario]
como llamar a un método base en un método modificado?
Por supuesto que podría llamar a eso "base" [BeforeScenario]
método explícitamente - pero que parece un poco como un enfoque maza .....
¿Alguna idea? ¿Pensamientos? ¿Punteros?
También puede usar FeatureContext.Current para usar con BeforeFeature – Heliac