在[AfterStep]
中,我未通过测试:
[AfterStep]
public void StopOnUnexpectedBrowserLogs()
{
Assert.Fail("sth sth");
}
然后在[AfterScenario]
中,我想在测试失败时采取行动:
[AfterScenario]
public void AfterScenario()
if (ScenarioContext.Current.TestError != null)
{
DoSomething();
}
}
在这种情况下,ScenarioContext.Current.TestErrors
始终为null。如何强制使用[AfterStep]
方法在此处分配内容?
答案 0 :(得分:0)
我没有找到解决方案,而只是解决方法。我测试了用[AfterScenario]
注释的方法中任何失败的断言都不会设置TestError
属性。仅当TestError
等带注释的方法中断言失败时,才分配Then,When,Given
属性。
因此,我只是添加了一个简单的public bool SthBadHappened {get;set;}
属性,用作我的TestError
属性。