julia_v_iluhina

Untitled

Dec 7th, 2016
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.29 KB | None | 0 0
  1. package ua.net.itlabs;
  2. ...
  3. public class TodoTest {
  4.  
  5.     @Test
  6.     public void testCreateTask() {
  7.     ...
  8.     }
  9.  
  10. }
  11.  
  12. //и
  13.  
  14. package ua.net.itlabs;
  15. ...
  16. public class TodoTestv3 {
  17.  
  18.             @Test
  19.             public void testCreateTask() {
  20.             ...
  21.             }
  22.  
  23. }
  24. /*
  25.     В качестве решения для этой работы - должен быть один тест-класс с одним тест-методом
  26.     который выполняет все действия, описанные в задании, а также необходимые для такого сценария проверки
  27.  
  28.     Соглашусь с тобой - что разумно собирать разные версии решений домашек
  29.     Да, это удобно делать в рамках одного проекта
  30.  
  31.     Только - для структурной информации - для номера версии/ для номера домашки - используй пекеджи
  32.     А в имена методов или классов уже такое не выноси
  33.  
  34.     Получишь в итоге - что-то типа такой структуры - http://joxi.ru/v29WjP9h3dKOXr
  35.     тут, в примере - не все conventions для имен пекеджей выполнены, я хотела просто проиллюстрировать сам принцип
  36.     в древообразной структуре - раскладывай решения, которые реализовывал
  37.     потом при необходимости всегда сможешь вернуться к предыдущим версиям
  38.  
  39.     заметь - имена классов в разных пекеджах могут совпадать
  40.     java это допускает
  41.     и потому - при нейминге классов, методов, параметров методов, переменных - опирайся не на номера версий/попыток и прочего
  42.     а уже - отражай суть, для чего эта сущность.
  43.     Ну и конвеншенсы соблюдай, конечно
  44.  
  45.     есть большой раздел по неймингу
  46.     https://docs.google.com/document/d/13dNyFGbI7mV22UUhH8E0LJ7SzabAmX7Bw7VCHScYfiU/edit#bookmark=id.zfcd0angknhf
  47.     рекомендую ознакомиться и применять эти знания
  48.  
  49.     В следующий раз - в решении должен быть
  50.       тест-класс TodoMVCTest - будет ок (TodoMVC - название приложения тестируемого, далее пока уточнять ничего не надо)
  51.       тест-метод - подумай над названием, учти вот это -
  52.       https://docs.google.com/document/d/13dNyFGbI7mV22UUhH8E0LJ7SzabAmX7Bw7VCHScYfiU/edit#bookmark=id.2gjiy0o1o48q
  53. */
  54. ****************************************
  55. package ua.net.itlabs;
  56. ...
  57. public class TodoTest {
  58.  
  59.     @Test
  60.       public void testCreateTask() {
  61.         open("https://todomvc4tasj.herokuapp.com/");
  62.         /*
  63.             используй пропуски строк для разделения кода на блоки
  64.  
  65.             каждый блок = одна законченная идея/цель
  66.  
  67.             вот тут не мешало бы строку пропустить
  68.         */
  69.         $("#new-todo").setValue("Task1").pressEnter();
  70.         $("#new-todo").setValue("Task2").pressEnter();
  71.         $("#new-todo").setValue("Task3").pressEnter();
  72.         $("#new-todo").setValue("Task4").pressEnter();
  73.         $$("#todo-list li").shouldHave(exactTexts("Task1", "Task2", "Task3", "Task4"));
  74.         /*
  75.             вот еще пример блока
  76.             добавили таски и проверили состояние списка тасок
  77.         */
  78.         $$("#todo-list li").findBy(text("Task2")).hover().$(".destroy").click();
  79.         /*
  80.             лучше быть точнее и искать таску, используя не кондишен text, а кондишен exactText
  81.             text - проверка =  в текст элемента входит текст ...
  82.             exactText - проверка = текст элемента равен ...
  83.  
  84.             после удаления таски - необходима проверка
  85.  
  86.             вообще правило такое - после каждой операции нужна проверка
  87.             из правила есть исключения - мы можем пропустить проверку, если это не повлияет на точность нашего теста
  88.  
  89.             вот, например, выше - мы проверили тексты тасок аж после добавления четвертой таски
  90.             но даже если тест упал бы а той проверке - мы бы все равно знали - в чем проблема
  91.             значит - пропущеные проверки не повлекли за собой потерю точности
  92.  
  93.             и еще важно
  94.             проверка должна касаться не только таски, над которой производилось действие
  95.             но и всего списка тасок - т к ошибки могут возникнуть и с какой-то другой таской
  96.  
  97.             удаление таски + проверка = еще один блок
  98.  
  99.             далее про проверки не пишу - учти это для всего кода
  100.         */
  101.         $$("#todo-list li").findBy(text("Task4")).hover().$(".toggle").click();
  102.         /*
  103.             для нажатия на чекбокс .toggle - не нужно выполнять hover()
  104.  
  105.             ранее - для удаления - мы применяли hover() - т к нам нужно было сделать кнопку удаления видимой
  106.             ведь иначе на нее нажать невозможно
  107.             понаблюдай - она становится видимой лишь после наведения курсора мыши на таску
  108.  
  109.             а тут - чекбокс видим
  110.             просто находи его и выполняй клик
  111.  
  112.         */
  113.         $$("#todo-list li").findBy(text("Task4")).hover().$(".destroy").click();
  114.         /*
  115.             а далее - нужно было воспользоваться кнопкой clear completed http://joxi.ru/ZrJX8Y3f935602
  116.  
  117.             mark all as completed - клик на этом чекбоксе http://joxi.ru/KAg8voQs4nG9br
  118.            
  119.             дореализуй все шаги из задания
  120.             и не забывай про проверки
  121.            
  122.             особо чего-то другого важного по следующей версии - комментировать не нужно дополнительно )
  123.             применяй каждый из комментариев - ко всему коду
  124.         */
  125.     }
Advertisement
Add Comment
Please, Sign In to add comment