当场景通过或失败时,Cucumber-jvm挂钩

时间:2016-02-22 09:48:06

标签: java cucumber cucumber-jvm jbehave

Jbehave 中,我们可以根据场景成功/失败的结果执行方法。下面提到的方法之一将在失败和成功后执行。

@AfterScenario(uponOutcome=AfterScenario.Outcome.SUCCESS)
public void afterSuccessfulScenario() {
// Some code to execute...
}

@AfterScenario(uponOutcome=AfterScenario.Outcome.FAILURE)
public void afterFailedScenario() {
// Some code to execute...
}

我正在尝试在 Cucumber-jvm 中实现相同的目标。方案挂钩@Before@After将在每个方案之后执行。但是我想为每个失败场景执行一些代码。

我不知道如何在cucumber-jvm中实现它。任何线索?

1 个答案:

答案 0 :(得分:7)

您可以使用cucumber-jvm hooks来实现它。 如果一个钩子接收Scenario作为参数,你可以知道它是否已经失败。

示例:

@After
public void afterScenario(Scenario scenario) {
  if (scenario.isFailed()) {
     // Some code to execute...
  }
  if(scenario.isPassed()) {
     // Some code to execute...
  }
}

请注意导入@After

import cucumber.api.java.After;

希望它有所帮助。