当前位置: 首页 > 知识库问答 >
问题:

在jbehave serenity BDD中不工作的前/后场景

龚俊捷
2023-03-14

之前/之后的场景不工作在j在平静的BDDserenity.version1.2.3-rc.5serenity.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

共有2个答案

金和雅
2023-03-14

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

於彬
2023-03-14

这对我起了作用:

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

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

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

 类似资料:
  • 我的程序以前工作得很好,我将我的场景构建器从JavaFx场景构建器2.0改为gluon场景构建器10,以添加一些CSS样式。我添加了样式,程序显示了如下错误:警告:由版本9.0.4的JavaFX运行时用版本10.0.1的JavaFX API加载FXML文档,然后我将JDK更新到版本10.0.2,但它显示了如下错误。 我的主要课程是 我的控制器类是 fontawesome版本:

  • 我刚刚部署了一个使用Heroku和PostGres的网站。我可以上传到一个表单,但不能上传到其他表单。在当地也很好。错误如下: 非常感谢您的帮助。谢谢

  • 我有Intellij-IDEA 13.1.2。[已编辑,以前是13.0.2]我使用scala-plugin。我正在尝试使用工作表来评估代码。 但我得到的只有两个错误: 更新:现在它在Intellij13.1.5、Scala Plugin0.41.2和Scala-2.10和2.11下都能正常工作

  • 在所有Amadeus自助服务API中,只有一些机场代码有效。例如,“FRA”可以工作,但“TXL”不能。这是因为API是Beta版,我只使用沙盒版本吗? 示例: https://test.api.amadeus.com/v1/shopping/flight-destinations?origin=FRA 作品 https://test.api.amadeus.com/v1/shopping/fli

  • 您可以看到,我的JSON中有两个块:一个通知块(在后台接收通知),一个数据块(在前台接收通知)。 我不明白为什么没有收到后台通知。我的怀疑是关于块的顺序(如果我把“数据”块放在“通知”块之前会有问题吗?)。 编辑:有关问题的更多信息。 编辑2: 当应用程序在后台时,不会收到通知,但当我打开应用程序时,会立即收到相同的通知(方法didReceiveRemoteNotification被激发)。

  • 我想在Eclipse Oxygen 4.7.3a中从JUnit 4转换为5。我认为添加Jupiter库就足够了:库、构建路径等等。然而,在之前、之后、之前和之后都不会执行,但测试方法会执行,但如果没有正确的设置,它们当然会失败。 有趣的是,我可以使用新的Junit 5 Jupiter向导创建一个文件,该测试文件可以正常工作。我将JUnit 5注释从新文件复制并粘贴到现有文件中,但仍然不起作用。我开