之前/之后场景不适用于jbehave serenity BDD

时间:2017-03-17 14:38:18

标签: java jbehave serenity-bdd

之前/之后场景不适用于jbehave serenity BDD serenity.version 1.2.3-rc.5 serenity.jbehave.version 1.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

2 个答案:

答案 0 :(得分:3)

这对我有用:

JBehave API似乎已经改变,现在看来你需要添加ScenarioType参数:

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

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

答案 1 :(得分:0)

JBehave通过.story文件确定方案。您可能没有在故事文件中定义方案,或者存在语法错误并且被忽略。在这里发布您的故事文件。