Подтвердить что ты не робот

Specflow [AfterScenario]

Я определил привязку [AfterScenario] в моем классе stepdefinition и получил метод, который будет выполняться после каждого сценария, но по какой-то причине это не работает. Мой метод не вызывается после каждого сценария, поэтому excel остается открытым после некоторых тестов... Также нет журнала для некоторых неудачных тестов. Зачем? Есть ли у вас какие-либо идеи или предложения?

Вот мой метод:

[AfterScenario]        
        public void AfterScenario()
        {
            if (TestContext.CurrentContext.Result.State != TestState.Success) ErrorLog();
            excelDriver.Stop();
        }
4b9b3361

Ответ 1

Впервые я играл с материалами BeforeScenario и AfterScenario только сегодня.

Я пометил свой сценарий с помощью @sometag, а затем с атрибутом моего метода AfterScenario() был использован один и тот же тег (без знака "@" или "знак" ) в качестве аргумента, например

Функциональный файл:

@sometag
Feature: Some feature or other
Here is my feature description
...
Scenario: Some scenario
...

Файл событий:

[AfterScenario("sometag")]
public void AfterScenario()
{
    // stuff...
}

Я не знаю, является ли тегирование таким ключом. Возможно, без меток AfterScenario() всегда срабатывал, я не пробовал.

Другая вещь, которую вы можете попробовать, - это привязать VS к процессу nunit-agent.exe, установив точку останова внутри вашего метода AfterScenario() и увидев, когда он попал.

Ответ 2

Пометка таких вещей является ключевой, если вы не хотите, чтобы afterScenario() выполнялся для eaach и каждого сценария, но если вы хотите, чтобы он запускался после всех сценариев, тогда не нужно тегировать.