Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ua.net.itlabs;
- ...
- public class TodoTest {
- @Test
- public void testCreateTask() {
- ...
- }
- }
- //и
- package ua.net.itlabs;
- ...
- public class TodoTestv3 {
- @Test
- public void testCreateTask() {
- ...
- }
- }
- /*
- В качестве решения для этой работы - должен быть один тест-класс с одним тест-методом
- который выполняет все действия, описанные в задании, а также необходимые для такого сценария проверки
- Соглашусь с тобой - что разумно собирать разные версии решений домашек
- Да, это удобно делать в рамках одного проекта
- Только - для структурной информации - для номера версии/ для номера домашки - используй пекеджи
- А в имена методов или классов уже такое не выноси
- Получишь в итоге - что-то типа такой структуры - http://joxi.ru/v29WjP9h3dKOXr
- тут, в примере - не все conventions для имен пекеджей выполнены, я хотела просто проиллюстрировать сам принцип
- в древообразной структуре - раскладывай решения, которые реализовывал
- потом при необходимости всегда сможешь вернуться к предыдущим версиям
- заметь - имена классов в разных пекеджах могут совпадать
- java это допускает
- и потому - при нейминге классов, методов, параметров методов, переменных - опирайся не на номера версий/попыток и прочего
- а уже - отражай суть, для чего эта сущность.
- Ну и конвеншенсы соблюдай, конечно
- есть большой раздел по неймингу
- https://docs.google.com/document/d/13dNyFGbI7mV22UUhH8E0LJ7SzabAmX7Bw7VCHScYfiU/edit#bookmark=id.zfcd0angknhf
- рекомендую ознакомиться и применять эти знания
- В следующий раз - в решении должен быть
- тест-класс TodoMVCTest - будет ок (TodoMVC - название приложения тестируемого, далее пока уточнять ничего не надо)
- тест-метод - подумай над названием, учти вот это -
- https://docs.google.com/document/d/13dNyFGbI7mV22UUhH8E0LJ7SzabAmX7Bw7VCHScYfiU/edit#bookmark=id.2gjiy0o1o48q
- */
- ****************************************
- package ua.net.itlabs;
- ...
- public class TodoTest {
- @Test
- public void testCreateTask() {
- open("https://todomvc4tasj.herokuapp.com/");
- /*
- используй пропуски строк для разделения кода на блоки
- каждый блок = одна законченная идея/цель
- вот тут не мешало бы строку пропустить
- */
- $("#new-todo").setValue("Task1").pressEnter();
- $("#new-todo").setValue("Task2").pressEnter();
- $("#new-todo").setValue("Task3").pressEnter();
- $("#new-todo").setValue("Task4").pressEnter();
- $$("#todo-list li").shouldHave(exactTexts("Task1", "Task2", "Task3", "Task4"));
- /*
- вот еще пример блока
- добавили таски и проверили состояние списка тасок
- */
- $$("#todo-list li").findBy(text("Task2")).hover().$(".destroy").click();
- /*
- лучше быть точнее и искать таску, используя не кондишен text, а кондишен exactText
- text - проверка = в текст элемента входит текст ...
- exactText - проверка = текст элемента равен ...
- после удаления таски - необходима проверка
- вообще правило такое - после каждой операции нужна проверка
- из правила есть исключения - мы можем пропустить проверку, если это не повлияет на точность нашего теста
- вот, например, выше - мы проверили тексты тасок аж после добавления четвертой таски
- но даже если тест упал бы а той проверке - мы бы все равно знали - в чем проблема
- значит - пропущеные проверки не повлекли за собой потерю точности
- и еще важно
- проверка должна касаться не только таски, над которой производилось действие
- но и всего списка тасок - т к ошибки могут возникнуть и с какой-то другой таской
- удаление таски + проверка = еще один блок
- далее про проверки не пишу - учти это для всего кода
- */
- $$("#todo-list li").findBy(text("Task4")).hover().$(".toggle").click();
- /*
- для нажатия на чекбокс .toggle - не нужно выполнять hover()
- ранее - для удаления - мы применяли hover() - т к нам нужно было сделать кнопку удаления видимой
- ведь иначе на нее нажать невозможно
- понаблюдай - она становится видимой лишь после наведения курсора мыши на таску
- а тут - чекбокс видим
- просто находи его и выполняй клик
- */
- $$("#todo-list li").findBy(text("Task4")).hover().$(".destroy").click();
- /*
- а далее - нужно было воспользоваться кнопкой clear completed http://joxi.ru/ZrJX8Y3f935602
- mark all as completed - клик на этом чекбоксе http://joxi.ru/KAg8voQs4nG9br
- дореализуй все шаги из задания
- и не забывай про проверки
- особо чего-то другого важного по следующей версии - комментировать не нужно дополнительно )
- применяй каждый из комментариев - ко всему коду
- */
- }
Advertisement
Add Comment
Please, Sign In to add comment