Ссылаясь на книгу Джона Serenity BDD, может ли аннотация @Test охватить полный сценарий, как часть запуска SerenityRunner.class?
Я имею в виду книгу Джона о безмятежности Джона @ https://serenity-bdd.github.io/theserenitybook/latest/step-libraries.html. В самом начале Джон, похоже, заключает в себе набор определений шагов @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. Возможно ли это сделать, только если вы используете аннотацию @RunWith(SerenityRunner.class) непосредственно перед объявлением класса StepDefinition?
3. Как насчет того, если вы использовали @RunWith(CucumberWithSerenity.class)
вместо? Как лучше всего объявить эту аннотацию? В файле TestRunner.java или как вы показали в стороне файл класса stepdefinition?
4. Какова роль безмятежности. Свойства в корне проекта Vs. Файл TestRunner.java? Можем ли мы использовать только один вместо обоих?
Извините за эти многие вопросы. От имени разработчиков тестов JUnit-Cucumber-Serenity я говорю следующее: "Мы боремся, не имея окончательной документации".
Я знаю, что это в природе зверя. Поскольку Serenity можно использовать вместе со всеми вышеперечисленными технологиями, и один простой ответ будет затруднительным.
Кстати, я посмотрел на начальный проект Джона для проекта Serenity-junit-starter-master ( Serenity-junit-starter), который в большей степени иллюстрирует его книгу, я нигде не мог найти файл объектов. Соединение точек между файлом объекта и документом "Шаги" дало бы много понимания.
1 ответ
"// GIVEN" и т. Д. - просто комментарии; они не связаны с огурцом. Вы можете запустить Serenity с JUnit, Cucumber или JBehave, но большая часть книги (в настоящее время) посвящена чисто реализациям JUnit.