SpecFlow -упорядочивание нескольких методов BeforeScenario

Я получаю удовольствие от SpecFlow, и мне это очень нравится.

За исключением нескольких острых вопросов... таких как код настройки функций и сценариев.

В одном файле «общего -назначения» под названием InfrastructureSteps.csу меня есть код общей настройки, который следует запускать для каждого сценария -, поэтому мой метод выглядит примерно так:

[BeforeScenario]
public void SetupDbContext()
{
    // define some basic stuff, set up a database transaction context etc.
}

Это нужно запускать перед каждым сценарием, и до сих пор это работало просто отлично.

Но теперь у меня есть два сценария в тестовом -файле конкретных шагов, которые также требуют довольно обширной настройки, прежде чем их можно будет запустить. Поэтому я пометил их сценарий в .featureтегом :

@needs_extra_setup
Scenario:.....
   Given.....
   When.....
   Then......

. и реализовал тестовый -специальный BeforeScenarioметод настройки:

[BeforeScenario("needs_extra_setup")]
public void DoExtraSetupForMyScenario()
{
   // do stuff
}

Он работает -он вызывается -, но вызывается до метод общего -назначения [BeforeScenario]вызывается :-(и, таким образом, он терпит неудачу -при настройке в этом общем -Целевой метод настройки отсутствует, что приводит к сбою моего кода.

Так есть ли способ в SpecFlow упорядочить методы [BeforeScenario]? Или я могу указать конкретному [BeforeScenario]методу сначала выполнить «базовый» [BeforeScenario]метод, например, вызвать базовый метод в переопределенном методе?

Конечно, я мог бы явно назвать этот «базовый» [BeforeScenario]метод -, но это немного похоже на метод кувалды -молота.....

Любые идеи?Мысли? Указатели?

11
задан Charles 26 July 2012 в 14:38
поделиться