Before/After 场景在 jbehave serenity BDD 中不起作用

Before/After Scenario not working in jbehave serenity BDD

Before/After 场景在 jbehave serenity BDD 中不起作用 serenity.version 1.2.3-rc.5 serenity.jbehave.version1.21.0

例如

public class UploadDocumentWhatStep {

@BeforeScenario
    public void beforeEachScenario(){
        System.out.println("in before");
    }

@Given("Sample Given")
    public void cleanUp() {
        System.out.println("in given");
    }
@When("Sample When")
    public void action() {
        System.out.println("in When");
    }
@Then("Sample Then")
    public void action() {
        System.out.println("in then");
    }

@AfterScenario
    public void afterEachScenario(){
System.out.println("in After");
  }
}

当我尝试 运行 这段代码时,输​​出是

Output:
in given
in When
in Then

JBehave 通过您的 .story 文件确定场景。您可能没有在故事文件中定义场景,或者存在语法错误并且被忽略了。 post 这里是你的故事文件。

这对我有用:

JBehave API 似乎已更改,您现在似乎需要添加 ScenarioType 参数:

@BeforeScenario(uponType = ScenarioType.ANY)
public void setTheStage() {
    OnStage.setTheStage(new OnlineCast());
}

来源:https://github.com/serenity-bdd/serenity-jbehave/issues/117