参考John的Serenity BDD书,@ Test注释是否可以包含完整的方案,作为运行SerenityRunner.class的一部分?

时间:2019-02-24 01:07:28

标签: serenity-bdd cucumber-serenity serenity-js

我指的是John的Serenity bdd书@ https://serenity-bdd.github.io/theserenitybook/latest/step-libraries.html。从一开始,John似乎就将一组@given @when @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。如何选择方法的名称?在描述 Scenario:keyword?

的步骤行中

2。仅当在StepDefinition类的声明之前使用 @RunWith(SerenityRunner.class)注释时,这才可能吗?

3。如果您改用@RunWith(CucumberWithSerenity.class),该怎么办? 声明此注释的最佳位置是什么?在TestRunner.java文件中还是您在旁边显示的stepdefinition类文件?

4。serenity.properties在项目Vs的根部起什么作用。 TestRunner.java文件?我们可以只使用一个而不是两个吗?

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

我知道这是野兽的本性。因为Serenity可以与以上所有方法结合使用 技术和一个简单的答案将很困难。

顺便说一句,我查看了John的 Serenity-junit-starter-master 项目(Serenity-junit-starter)的启动项目,该项目在很大程度上说明了他的书,但我找不到功能文件任何地方。将特征文件和“步骤”文档之间的点连接起来会很有启发。

1 个答案:

答案 0 :(得分:1)

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