0

我指的是 John 的 Serenity bdd 书 @ https://serenity-bdd.github.io/theserenitybook/latest/step-libraries.html。刚开始时,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(SerenityRunner.class)注释时,这是否可能?

3.如果你用它@RunWith(CucumberWithSerenity.class)来代替呢?声明此注释的最佳位置是什么?在 TestRunner.java 文件中还是在 stepdefinition 类文件中显示?

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

很抱歉有这么多问题。我代表 JUnit-Cucumber-Serenity 测试开发人员说 “我们正在苦苦挣扎,没有明确的文档”

我知道这是野兽的本性。因为 Serenity 可以与上述所有技术结合使用,所以很难找到一个简单的答案。

顺便说一句,我查看了约翰的Serenity-junit-starter-master项目(Serenity-junit-starter)的入门项目,这在很大程度上说明了他的书,我无法在任何地方找到功能文件。在功能文件和步骤文档之间连接点会提供很多见解。

4

1 回答 1

1

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

于 2019-02-24T19:49:46.407 回答