Serenity bdd 指约翰';在《Serenity BDD手册》中,@Test注释能否包含一个完整的场景,作为运行SerenityRunner.class的一部分?

Serenity bdd 指约翰';在《Serenity BDD手册》中,@Test注释能否包含一个完整的场景,作为运行SerenityRunner.class的一部分?,serenity-bdd,cucumber-serenity,serenity-js,Serenity Bdd,Cucumber Serenity,Serenity Js,我指的是约翰的《宁静bdd》一书。最开始,John似乎将一组@given@when@then步骤定义封装在一个方法中,该方法用标记@Test进行注释 @Test public void members_should_start_with_Bronze_status() { // GIVEN tracy.joins_the_frequent_flyer_program(); // THEN tracy.should_have_a_st

我指的是约翰的《宁静bdd》一书。最开始,John似乎将一组@given@when@then步骤定义封装在一个方法中,该方法用标记@Test进行注释

@Test
public void members_should_start_with_Bronze_status() {
        // GIVEN
        tracy.joins_the_frequent_flyer_program();
        // THEN
        tracy.should_have_a_status_of(Bronze);
    }
1.您将如何选择方法的名称?从描述场景的步骤行:关键字?

2.只有在声明StepDefinition类之前使用@RunWith(serentityRunner.class)注释时,这才可能实现吗

3.如果您使用的是
@RunWith(cucumberWithSerentity.class)
,情况如何? 声明此批注的最佳位置是什么?在TestRunner.java文件中,还是如stepdefinition类文件中所示

4.与TestRunner.java文件相比,项目根目录下的serenity.properties的作用是什么?我们能用一个代替两个吗

很抱歉问了这么多问题。代表JUnit Cucumber Serenity测试开发人员, 我是这么说的 “我们正在努力,没有一份明确的文档”

@Test
public void members_should_start_with_Bronze_status() {
        // GIVEN
        tracy.joins_the_frequent_flyer_program();
        // THEN
        tracy.should_have_a_status_of(Bronze);
    }
我知道这是野兽的本性。因为宁静可以和以上所有的东西结合使用 技术和单一、简单的答案将是困难的


顺便说一句,我看了约翰为《Serenity junit入门大师》(Serenity junit starter master)写的入门项目,该项目在很大程度上说明了他的书,我在任何地方都找不到该功能文件。将特征文件和步骤文档之间的点连接起来会提供很多见解。

“//given”等只是注释;它们与黄瓜无关。您可以使用JUnit、Cucumber或JBehave运行Serenity,但本书(目前)的大部分内容都集中在纯JUnit实现上。

这就是它!我希望通过某种方式连接功能文件,它在@Test注释中的步骤定义和@Test方法中包含的组件方法正在实现@Given@When@然后走。也许有一天,这是可能的