【问题标题】:Adding @after hook affects all tests in package添加 @after 钩子会影响包中的所有测试
【发布时间】:2019-10-07 13:13:18
【问题描述】:

我想为包中的一项测试添加@After 挂钩。当我从这个包(不包含@after 定义)运行另一个测试时,@after 钩子从第一个测试运行。 这是正确的行为吗?如何只为那一项测试添加@after 钩子?

【问题讨论】:

  • 如何定义这个注解属于什么框架?

标签: java testing cucumber


【解决方案1】:

您需要使用标记钩子,以便您可以选择运行代码的场景,而不是所有场景。如果您共享了您的代码,您会更容易准确地理解您哪里出错了,但这是我最好的猜测。

@After("@onlyThisTest")
  public void doSomethingOnlyAfterTestsWithThatTag(){
}

the tagged hooked documentation for more detail

【讨论】:

    【解决方案2】:

    这是正确的行为。看看Cucumber documentation

    在每个场景的最后一步之后运行钩子之后,即使步骤失败、未定义、挂起或跳过。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-13
      • 1970-01-01
      • 2015-12-15
      • 1970-01-01
      • 2012-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多