julia_v_iluhina

Untitled

Dec 29th, 2016
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.67 KB | None | 0 0
  1. public class TodoMVCTestsStepDefinitions
  2. /*
  3.     Stepdefs - так предлагает сам Cucumber в своих образовательных видео называть этот класс
  4.     https://cucumber.io/school
  5.     второе видео 00:18 примерно
  6.     http://joxi.ru/xAe1zDPsppBaXA
  7.  
  8.     https://github.com/cucumber/cucumber-java-skeleton
  9.  
  10.     У Якова в видео - был вариант TodosStepdefs - чуть точнее но тоже с Stepdefs
  11.     В общем - советую и тебе что-то такое  - TodoMVCStepdefs, к примеру
  12. */
  13. **************************
  14. Feature: Todos operations at all filter
  15.  
  16.   Background:
  17.     Given open TodoMVC page
  18.  
  19.     Scenario: add tasks
  20.       When add task 'task1'
  21.       Then task is 'task1'
  22.       And item left counter shows 1
  23. /*
  24.     благодаря тому, что сценарий = первый
  25.     то тут ок
  26.     будет пусто на начало теста - в списке тасок
  27.  
  28.     https://jkotests.wordpress.com/2013/08/22/specify-execution-order-of-cucumber-features/
  29.     по умолчанию - он первым и будет запущен
  30.  
  31.     я б в реальной жизни - на такое не закладывалась)
  32.     все же - полезнее держать в голове - что тесты - друг от друга и от порядка запуска - не должны зависеть
  33.  
  34.     тут - придираться к этому не буду
  35.     но вообще - лучше закладывайся на то что тесты независимы друг от друга и от порядка запуска
  36.  
  37.     очень советую вот это видео
  38.     оно к Cucumber конечно не имеет никакого отношения
  39.     но порядка в понимании важных вещей - добавит
  40.     https://www.youtube.com/watch?v=yyzGP2CyMRM
  41.  
  42. */
  43. **************************************
  44. сценарий -  When add task 'task1'
  45. реализация - @When("^add task '(.*)'$")
  46.              public void addTask(List<String> taskText)
  47. /*
  48.     определись
  49.     если работаем со списком - синтаксис и в сценарии - как при работе со списком
  50.     если работаем с одним значением - значит и синтаксис как для одного значения
  51.  
  52.     или
  53.     When add tasks: task1
  54.     и тогда оперируем списком в реализации
  55.  
  56.     или
  57.     When add task 'task1'
  58.     и тгда оперируем одиночной таской в реализации
  59.  
  60.     то же  - насчет  - Then task is 'task1'
  61.     будет ок = Then tasks are: task1
  62.         в списке может быть любое количество элементов, в том числе и один
  63.         да, фраза дурацкая получается с точки зрения английского
  64.         но и раздувать из-за этого решение  - не стоит
  65.         можно уйти от дурацкости вот так
  66.         Then task list contains: task1
  67.  
  68.         вариант Then task is 'task1' - не однозначный
  69.         моя первая мысль - что работаем с одной таской из списка (а он может быть при этом - любым)
  70.         а ведь это не так
  71.  
  72.         там где мы работаем с коллекцией
  73.         (даже если в ней - в данном конкретном случае - один элемент) -
  74.         оперируй оформлением как для коллекции(двоеточне и нет кавычек)
  75.         это нам еще на этапе чтения сценария - понимать - что анализируем весь список
  76.         и в нем - в данный момент - один элемент
  77.        
  78.     собственно - только к формулировке с is для коллекций с одним элементом - и могу придраться
  79.     а так - версия красивая, конечно)
  80.        
  81.  
  82.     это уже кидала тебе , повторю на всякий случай
  83.         Когда ты используешь список - разумно использовать двоеточие
  84.         (в обычных языках - что в русском, что в английском - мы так и поступаем)
  85.  
  86.         А когда просто в рамках предложения нужно указать один элемент тестовых данных
  87.         Чтоб выделить их - используй кавычки
  88.  
  89.         Т е именно кавычки и двоеточие нам покажут, что это тестовые данные
  90.         Будем экономны - или то, или то
  91.         Одного средства достаточно, чтоб показать, что это тестовые данные
  92.  
  93.         В конспекте и видео - это есть
  94.         Так и в примере на официальном сайте
  95.         http://joxi.ru/L210nzMu6n4d4m
  96.         Обрати внимание
  97.  
  98.         Что касается одиночных тестовых данных - цифр.
  99.         Будет ОК как использовать кавычки, так и не использовать их.
  100.         http://joxi.ru/bmoWZzahMkB9Ym
  101.  
  102.  
  103. */
Advertisement
Add Comment
Please, Sign In to add comment