Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- полезный конспект
- https://docs.google.com/document/d/1jXzf_AOIdSE8vAUhRwXXuI2ccMc3au4XvWl6TH1GMx8/edit?usp=sharing
- */
- ************************
- import cucumber.api.java.en.And;
- ...
- @cucumber.api.java.en.Given("^open TodoMVC page$")
- public void openTodoMVCPage() {
- /*
- заимпорти
- import cucumber.api.java.en.Given;
- или
- import cucumber.api.java.en.*;
- */
- *******************************
- Scenario: edit task
- When add tasks: a, b
- And edit task: a, a edited
- Then tasks are: a edited, b
- Then tasks left: 2
- /*
- хороший пример для разбора)
- Прими к сведению что в BDD сценариях обычно рекомендовано использовать язык обычного юзера
- And edit task: a, a edited - слишком технически
- лучше было бы что-то типа
- And edit task 'a' to have text 'a edited'
- Но, например, Яков сказал бы, что ему важнее лаконичность…
- и потому оставил бы такой вариант, как у тебя
- В общем… можешь оставить, но будь готова отвечать за это перед каким то QA лидом на проекте :)
- или еще каким то задротом :) , повернутым на BDD
- В этом же контексте, обрати внимание на использование кавычек вместо двоеточия
- Когда ты используешь список - разумно использовать двоеточие
- (в обычных языках - что в русском, что в английском - мы так и поступаем)
- А когда просто в рамках предложения нужно указать один элемент тестовых данных
- Чтоб выделить их - используй кавычки
- Т е именно кавычки и двоеточие нам покажут, что это тестовые данные
- Будем экономны - или то, или то
- Одного средства достаточно, чтоб показать, что это тестовые данные
- В конспекте и видео - это есть
- Так и в примере на официальном сайте
- http://joxi.ru/L210nzMu6n4d4m
- Обрати внимание
- Что касается одиночных тестовых данных - цифр.
- Будет ОК как использовать кавычки, так и не использовать их.
- http://joxi.ru/bmoWZzahMkB9Ym
- еще один момент
- первое действие = добавление задач
- но в этом сценарии - это предварительные действия
- значит - корректнее использовать аннотацию Given, а не When
- Ну и следующую строку - тоже поправь.
- Там будет нужен When, а не And - т к это уже тестовая логика,
- а не продолжение Given
- Для предварительных действий
- Первое действие в цепочке - Given
- Последующие - And
- Первое действие в цепочке действий - When
- Последующие действия в цепочке действий - And
- Также и для проверок
- Первая проверка в цепочке проверок - Then
- Последующие - And
- это - надо подправить во всех сценариях
- */
- **************************************
- /*
- это на почитать
- просто для общего сведения
- можно реализовать вот так
- пример
- Given tasks:
- | a | COMPLETED |
- | b | ACTIVE |
- @Given("^tasks:$")
- public void givenTasks(DataTable data) {
- Map<String, String> givenTasks = data.asMap(String.class, String.class);
- ArrayList<String> names = new ArrayList<String>(givenTasks.keySet());
- ArrayList<String> statuses = new ArrayList<String>(givenTasks.values());
- ...
- }
- гугли
- cucumber data table example
- полезные линки
- http://toolsqa.com/cucumber/data-tables-in-cucumber/
- https://sukesh15.gitbooks.io/cucumber-jvm-test-framework-/content/cucumber_-_more_details/cucumber_-_datatables.html
- http://michielrop.blogspot.com/2013/09/cucumber-datatable-and-java.html
- http://cucumber.github.io/api/cucumber/jvm/javadoc/cucumber/api/DataTable.html
- */
Advertisement
Add Comment
Please, Sign In to add comment