Утверждение в [AfterStep] не устанавливает ScenarioContext.Current.TestError - PullRequest
0 голосов
/ 27 мая 2019

В [AfterStep] Я не прошел тест:

[AfterStep]
public void StopOnUnexpectedBrowserLogs()
{
    Assert.Fail("sth sth");
}

и затем в [AfterScenario] Я хочу действовать, когда тест не пройден:

[AfterScenario]
public void AfterScenario()
    if (ScenarioContext.Current.TestError != null)
    {
       DoSomething();
    }
}

однако ScenarioContext.Current.TestErrors всегда равно нулю в этом случае. Как я могу заставить что-то быть назначено там в [AfterStep] метод?

1 Ответ

0 голосов
/ 29 мая 2019

Я не нашел решения, а только обходной путь.Я проверил, что любая неудачная сборка в методе, аннотированном [AfterScenario], не устанавливает свойство TestError.TestError свойство присваивается только в случае сбоя сборки в аннотированных методах Then,When,Given и т. Д.Таким образом, я просто добавил простое свойство public bool SthBadHappened {get;set;}, которое я использую в качестве своего свойства TestError.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...