julia_v_iluhina

Untitled

Feb 7th, 2017
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.74 KB | None | 0 0
  1.         <dependency>
  2.             <groupId>com.codeborne</groupId>
  3.             <artifactId>selenide</artifactId>
  4.             <version>3.9.3</version>
  5.         </dependency>
  6. /*
  7.     см описание 4. и 4.2.1 версий - уже будет ок с ними работать
  8.     и со старым фф
  9.     http://selenide.org/2017/01/26/selenide-4.2.1/
  10.  
  11.     тут еще не све материалы есть
  12.     но вдруг не в теме - поможет разобраться
  13.     https://docs.google.com/document/d/1fodHkTunrtit-EiMBrb91Mc6rbnQ5LwtBL9rISQveKA/edit?usp=sharing
  14. */
  15. *****************************************
  16.     @Test
  17.     public void cancelEditTaskAtActive(){
  18.         //given
  19.         given.givenAtAll(new Task(ACTIVE, "t6"));
  20.         tasks.filterActive();
  21. /*
  22.     переход на нужный фильтр - это все еще предварительные действия
  23.  
  24.     пусть даже и так же реализованные, как и tasks.filterActive();
  25.     (хотя и тут есть варианты, но пока это можно отложить)
  26.  
  27.     сравни свой вариант с вот такими
  28.  
  29.         given.activeTasks("t6");
  30.         given.atActive();
  31.     или
  32.         given.tasks(new Task(ACTIVE, "t6"));
  33.         given.atActive();
  34.     или
  35.         given.tasks(new Task(ACTIVE, "t6")).atActive();
  36.  
  37.     или вот с таким
  38.         given.tasksAtActive(new Task(ACTIVE, "t6"))
  39.  
  40.     приведенные варианты - все хороши в принципе)
  41.     определяйся - какой тебе ближе
  42.  
  43.     кстати, нет смысла в разных тест-методах оперировать тасками с разными текстами
  44.     мы же каждый раз с чистоголиста начинаем
  45.  
  46.     не забывай про оформление кода
  47.     после предварительных действий - отступи строку
  48.     посмотри на код и на комментарии - нужны ли теперь они
  49. */
  50. ********************
  51.  public static class Task
  52.  public enum TaskType
  53. /*
  54.     реализация класса и enum-а = ок
  55. */
  56. ****************************
  57.     @Step
  58.     public static void givenAtAll(Task... taskTexts){
  59.         ...
  60.         for (Task taskText : taskTexts){
  61.         ....
  62.     }
  63. /*
  64.     посмотри на имя параметра taskTexts и имя переменной taskText
  65.     вопрос - имена верно отражают свойства сущностей?
  66.  
  67.     про
  68.     String commandToRun = Joiner.on(",").join(jsContent);
  69.     и
  70.     '[" + commandToRun + "]'
  71.  
  72.     можно еще красивее)
  73.     посмотри в сторону Arrays.toString(...)
  74. */
  75. *******************************
  76. /*
  77.     примерно с 121-й строки ревью - http://pastebin.com/dq9x5MJt
  78.     перечитывай
  79.  
  80.     тут я предложила тебе и другие варианты)
  81.     можно и так - как описала выше
  82.  
  83.     что нам нужно в предварительных действиях задавать
  84.         несколько тасок в таком-то статусе
  85.         несколько тасок (каждая в своем статусе)
  86.         ни одной таски
  87.         на таком-то фильтре
  88.  
  89.     и это желательно делать понятным способом
  90.     чтоб код писать было легко
  91.     и читать было легко
  92.     и чтоб возможнсстей ошибиться было поменьше
  93.  
  94.     также - дореализовывае полное покрытие
  95.     без этого - будет мало примеров
  96.     чтоб понять - какие тестовые ситуации нам нужно реализовать в помощью
  97.     гивен-методов
  98.  
  99. */
  100. ***************************
  101. TodoMVCTest extends OpenPageAndClearDataBeforeEachTest
  102. /*
  103.    мы наследуем тест-класс от OpenPageAndClearDataBeforeEachTest
  104.  
  105.     перед запуском теста - открываем наше приложение
  106.     после - чистим локалсторидж
  107.  
  108.     гивены можно вызывать и для варианта, когда надо задать пустой список тасок
  109.     значит - можно вызывать в каждом тест-методе гивен-метод
  110.     и убрать очистку локал сториджа после теста - вот уже облегчили код
  111.  
  112.     дальше - раз все тесты происхолят после открытия одного и того же урла
  113.  
  114.     можно вначале гивен-метода проверить
  115.     если сейчас урл не такой, то открыть нужный урл
  116.  
  117.     этот кусочек кода можно оформить в виде метода,
  118.     который будет вызываться вначле гивен-метода
  119.     такого плана методы = если сейчас не так, то сделать так
  120.     часто называют, начиная со слова ensure = обеспечить
  121.  
  122.     вот и не нужен нам код - по открытию урла в бифор-методе
  123.     сразу вопрос - какой предок нужен тест-классу)
  124.  
  125.     вот тебе и еще одна оптимизация)
  126.     кода меньше
  127.     сущностей меньше
  128.     действий лишних меньше
  129. */
Advertisement
Add Comment
Please, Sign In to add comment