Cucumber-jvm Hooks when Scenario is passed or failed

霸气de小男生 提交于 2020-01-24 04:19:06

问题


In Jbehave we can execute method upon outcome of scenario success/failure. One of the below mentioned methods will execute after failure and success.

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

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

I'm trying to achieve the same thing in Cucumber-jvm. The scenario Hooks @Before and @After will execute after each scenario. But I want to execute some code for each failure scenario.

I am not sure how to implement it in cucumber-jvm. Any clue?


回答1:


You can achieve it using cucumber-jvm hooks. If a hook receive a Scenario as a parameter, you can know if it has failed or not.

Example:

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

Note the import of @After:

import cucumber.api.java.After;

Hope it helps.



来源:https://stackoverflow.com/questions/35550386/cucumber-jvm-hooks-when-scenario-is-passed-or-failed

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!