我指的是 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)的入门项目,这在很大程度上说明了他的书,我无法在任何地方找到功能文件。在功能文件和步骤文档之间连接点会提供很多见解。