julia_v_iluhina

Untitled

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