java - 场景通过或失败时的 Cucumber-jvm Hook

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

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

最佳答案

您可以使用 cucumber-jvm hooks 实现它。 如果钩子(Hook)收到 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;

希望对您有所帮助。

关于java - 场景通过或失败时的 Cucumber-jvm Hook ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35550386/

相关文章:

java - 在IDE中运行.feature文件不会读取cucumber runner类

testing - 如何跳过不同环境的测试场景

cucumber - cucumber 选项注释

java - 如何使用 java(selenium 网络驱动程序)从下拉列表中选择值

java - JFrame 布局帮助/指南,

ruby-on-rails - 如何提前退出 Ruby Cucumber Step 定义?

selenium - 如何让 cucumber/selenium 运行瘦服务器而不是 Webrick

kotlin - cucumber 与Kotlin:重复步骤定义存在问题

java - 如何构建 Sparql 查询来获取带空格的字符串

java - Android 内部存储 VS 共享首选项