【问题标题】:Cucumber-jvm Hooks when Scenario is passed or failed场景通过或失败时的 Cucumber-jvm Hooks
【发布时间】:2016-02-22 09:48:05
【问题描述】:

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 中实现它。有什么线索吗?

【问题讨论】:

标签: java cucumber cucumber-jvm jbehave


【解决方案1】:

您可以使用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;

希望对你有帮助。

【讨论】:

  • 我可以在@After 中获取堆栈跟踪吗?
  • @vaibhavcool20 检查this question。我认为它解决了您想要实现的目标
猜你喜欢
  • 1970-01-01
  • 2012-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多