Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class TodoMVCTestsStepDefinitions
- /*
- Stepdefs - так предлагает сам Cucumber в своих образовательных видео называть этот класс
- https://cucumber.io/school
- второе видео 00:18 примерно
- http://joxi.ru/xAe1zDPsppBaXA
- https://github.com/cucumber/cucumber-java-skeleton
- У Якова в видео - был вариант TodosStepdefs - чуть точнее но тоже с Stepdefs
- В общем - советую и тебе что-то такое - TodoMVCStepdefs, к примеру
- */
- **************************
- Feature: Todos operations at all filter
- Background:
- Given open TodoMVC page
- Scenario: add tasks
- When add task 'task1'
- Then task is 'task1'
- And item left counter shows 1
- /*
- благодаря тому, что сценарий = первый
- то тут ок
- будет пусто на начало теста - в списке тасок
- https://jkotests.wordpress.com/2013/08/22/specify-execution-order-of-cucumber-features/
- по умолчанию - он первым и будет запущен
- я б в реальной жизни - на такое не закладывалась)
- все же - полезнее держать в голове - что тесты - друг от друга и от порядка запуска - не должны зависеть
- тут - придираться к этому не буду
- но вообще - лучше закладывайся на то что тесты независимы друг от друга и от порядка запуска
- очень советую вот это видео
- оно к Cucumber конечно не имеет никакого отношения
- но порядка в понимании важных вещей - добавит
- https://www.youtube.com/watch?v=yyzGP2CyMRM
- */
- **************************************
- сценарий - When add task 'task1'
- реализация - @When("^add task '(.*)'$")
- public void addTask(List<String> taskText)
- /*
- определись
- если работаем со списком - синтаксис и в сценарии - как при работе со списком
- если работаем с одним значением - значит и синтаксис как для одного значения
- или
- When add tasks: task1
- и тогда оперируем списком в реализации
- или
- When add task 'task1'
- и тгда оперируем одиночной таской в реализации
- то же - насчет - Then task is 'task1'
- будет ок = Then tasks are: task1
- в списке может быть любое количество элементов, в том числе и один
- да, фраза дурацкая получается с точки зрения английского
- но и раздувать из-за этого решение - не стоит
- можно уйти от дурацкости вот так
- Then task list contains: task1
- вариант Then task is 'task1' - не однозначный
- моя первая мысль - что работаем с одной таской из списка (а он может быть при этом - любым)
- а ведь это не так
- там где мы работаем с коллекцией
- (даже если в ней - в данном конкретном случае - один элемент) -
- оперируй оформлением как для коллекции(двоеточне и нет кавычек)
- это нам еще на этапе чтения сценария - понимать - что анализируем весь список
- и в нем - в данный момент - один элемент
- собственно - только к формулировке с is для коллекций с одним элементом - и могу придраться
- а так - версия красивая, конечно)
- это уже кидала тебе , повторю на всякий случай
- Когда ты используешь список - разумно использовать двоеточие
- (в обычных языках - что в русском, что в английском - мы так и поступаем)
- А когда просто в рамках предложения нужно указать один элемент тестовых данных
- Чтоб выделить их - используй кавычки
- Т е именно кавычки и двоеточие нам покажут, что это тестовые данные
- Будем экономны - или то, или то
- Одного средства достаточно, чтоб показать, что это тестовые данные
- В конспекте и видео - это есть
- Так и в примере на официальном сайте
- http://joxi.ru/L210nzMu6n4d4m
- Обрати внимание
- Что касается одиночных тестовых данных - цифр.
- Будет ОК как использовать кавычки, так и не использовать их.
- http://joxi.ru/bmoWZzahMkB9Ym
- */
Advertisement
Add Comment
Please, Sign In to add comment