我指的是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)的启动项目,该项目在很大程度上说明了他的书,但我找不到功能文件任何地方。将特征文件和“步骤”文档之间的点连接起来会很有启发。
答案 0 :(得分:1)
“ // GIVEN”等只是注释;它们与黄瓜无关。您可以使用JUnit,Cucumber或JBehave运行Serenity,但是(当前)本书的大部分内容都集中在纯JUnit实现上。