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

vkr*_*ams 5 java cucumber jbehave cucumber-jvm

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...
}
Run Code Online (Sandbox Code Playgroud)

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

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

tro*_*oig 8

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

例:

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

请注意导入@After:

import cucumber.api.java.After;
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你.