我已经在我的stepdefinition类中定义了AfterScenario绑定,并拥有将在每个场景之后执行的方法,但由于某种原因,这不起作用。我的方法并不是在每个场景之后都会被调用,所以在一些测试之后excel仍然是打开的……此外,对于一些不成功的测试也没有日志。为什么?你有什么想法或建议吗?
下面是我的方法:
[AfterScenario]
public void AfterScenario()
{
if (TestContext.CurrentContext.Result.State != TestState.Success) ErrorLog();
excelDriver.Stop();
}
发布于 2011-02-15 12:08:02
我今天第一次亲自玩BeforeScenario和AfterScenario的东西。
我用@sometag标记了我的场景,然后在我的AfterScenario()方法上使用了相同的标记(没有'@‘或at符号)作为参数,例如
功能文件:
@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()方法中设置断点并查看何时命中它。
发布于 2013-05-06 16:40:47
如果你不想为每个场景执行afterScenario(),那么这样的标记是关键,但是如果你想让它在所有场景之后运行,那么就不需要标记了。
https://stackoverflow.com/questions/4991517
复制相似问题