【发布时间】:2019-10-07 13:13:18
【问题描述】:
我想为包中的一项测试添加@After 挂钩。当我从这个包(不包含@after 定义)运行另一个测试时,@after 钩子从第一个测试运行。 这是正确的行为吗?如何只为那一项测试添加@after 钩子?
【问题讨论】:
-
如何定义这个注解属于什么框架?
我想为包中的一项测试添加@After 挂钩。当我从这个包(不包含@after 定义)运行另一个测试时,@after 钩子从第一个测试运行。 这是正确的行为吗?如何只为那一项测试添加@after 钩子?
【问题讨论】:
您需要使用标记钩子,以便您可以选择运行代码的场景,而不是所有场景。如果您共享了您的代码,您会更容易准确地理解您哪里出错了,但这是我最好的猜测。
@After("@onlyThisTest")
public void doSomethingOnlyAfterTestsWithThatTag(){
}
【讨论】:
这是正确的行为。看看Cucumber documentation
在每个场景的最后一步之后运行钩子之后,即使步骤失败、未定义、挂起或跳过。
【讨论】: