Cucumber-jvm Hooks, когда сценарий пройден или не пройден

В 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 будут выполняться после каждого сценария. Но я хочу выполнить некоторый код для каждого сценария отказа.

Я не уверен, как это реализовать в огурце-jvm. Любая подсказка?


person vkrams    schedule 22.02.2016    source источник
comment
@vaibhavcool20 Если вы хотите получить трассировку стека, см. это: stackoverflow.com/a/52117066/10299604   -  person Frank Escobar    schedule 31.08.2018


Ответы (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;

Надеюсь, поможет.

person troig    schedule 22.02.2016
comment
могу ли я получить трассировку стека в @After? - person vaibhavcool20; 15.10.2017
comment
@vaibhavcool20 Проверьте этот вопрос. Я думаю, это решает то, чего вы хотите достичь - person troig; 30.11.2018