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 中实现相同的目的。场景 Hook @Before@After将在每个场景之后执行。但是我想为每种失败情况执行一些代码。

我不确定如何在cumulage-jvm中实现它。有什么线索吗?

最佳答案

您可以使用cucumber-jvm hooks实现它。
如果 Hook 接收到 Scenario 作为参数,则可以知道 Hook 是否失败。

例子:

@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;

希望能帮助到你。

09-11 08:46