julia_v_iluhina

Untitled

Aug 1st, 2016
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.74 KB | None | 0 0
  1. Это конспект - кратко собраны полезные советы, могут пригодиться
  2. **************************************************
  3.  
  4. Scenario: edit task
  5.       When add task: A
  6.       And edit task: A to A_edited
  7.       Then tasks: A_edited
  8.  
  9. /*
  10.  
  11.     Прими к сведению что в BDD сценариях обычно рекомендовано использовать язык обычного юзера
  12.  
  13.         And edit task: A to A_edited - слишком  технически
  14.  
  15.     лучше было бы что-то типа
  16.  
  17.     And edit task 'A' to have text 'A_edited'
  18.  
  19.     Но, например, Яков сказал бы, что ему пофиг на этот выпендреж, и важнее лаконичность…
  20.     и потому оставил бы такой вариант, как у тебя
  21.  
  22.     В общем… можешь оставить, но будь готова отвечать за это перед каким то QA лидом на проекте :)
  23.     или еще кем-то ... :) , повернутым на BDD
  24.  
  25.     В этом же контексте, обрати внимание на использование кавычек вместо двоеточия
  26.     Когда ты используешь список - разумно использовать двоеточие
  27.     (в обычных языках - что в русском, что в английском - мы так и поступаем)
  28.  
  29.     А когда просто в рамках предложения нужно указать один элемент тестовых данных
  30.     Чтоб выделить их - используй кавычки
  31.  
  32.     Т е именно кавычки и двоеточие нам покажут, что это тестовые данные
  33.     Будем экономны - или то, или то
  34.     Одного средства достаточно, чтоб показать, что это тестовые данные
  35.  
  36.     В конспекте и видео - это есть
  37.     Так и в примере на официальном сайте (https://cucumber.io/school)
  38.     http://joxi.ru/L210nzMu6n4d4m
  39.     Обрати внимание
  40.  
  41.     Что касается одиночных тестовых данных - цифр.
  42.     Будет ОК как использовать кавычки, так и не использовать их.
  43.     http://joxi.ru/bmoWZzahMkB9Ym
  44. */
  45.  
  46. /*
  47.     еще один момент
  48.     первое действие = добавление задач
  49.     но в этом сценарии - это предварительные действия
  50.     значит - корректнее использовать аннотацию Given, а не When
  51.  
  52.     Ну и следующую строку - тоже поправь.
  53.     Там будет нужен When, а не And - т к это уже тестовая логика,
  54.     а не продолжение Given
  55.  
  56.           Для предварительных действий
  57.           Первое действие в цепочке - Given
  58.           Последующие - And
  59.  
  60.           Первое действие в цепочке действий - When
  61.           Последующие действия в цепочке действий - And
  62.  
  63.           Также и для проверок
  64.           Первая проверка в цепочке проверок - Then
  65.           Последующие - And
  66. */
  67. /*
  68.     примени это ко всем сценариям
  69. */
  70. ************************
  71.  
  72. см вторую лекцию, примерно 58-я минута
  73. не хватает класса-runner-а
  74.  
  75. ***************************************
  76.  
  77. это уже для общего развития
  78.  
  79. можно реализовать гивены
  80.     пример
  81.      Given tasks:
  82.        | a | COMPLETED |
  83.        | b | ACTIVE    |
  84.  
  85.     @Given("^tasks:$")
  86.     public void givenTasks(DataTable data) {
  87.         Map<String, String> givenTasks = data.asMap(String.class, String.class);
  88.         ArrayList<String> names = new ArrayList<String>(givenTasks.keySet());
  89.         ArrayList<String> statuses = new ArrayList<String>(givenTasks.values());
  90.  
  91.         ...
  92.     }
  93.  гугли
  94.     cucumber data table example
  95.    
  96.     полезные линки
  97.     http://toolsqa.com/cucumber/data-tables-in-cucumber/
  98.     https://sukesh15.gitbooks.io/cucumber-jvm-test-framework-/content/cucumber_-_more_details/cucumber_-_datatables.html
  99.     http://michielrop.blogspot.com/2013/09/cucumber-datatable-and-java.html
  100.    
  101.     http://cucumber.github.io/api/cucumber/jvm/javadoc/cucumber/api/DataTable.html
Advertisement
Add Comment
Please, Sign In to add comment