Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class ToDoMvcTest {
- @Test
- public void testCreateTask() {
- /*
- имя тест-метода должно отражать - что мы в нем тестируем
- а мы тут тестируем - далеко не только создание тасок
- и если в имени тест-метода мы наснем перечислять - что же мы тестируем -
- получится длинновато)
- выход есть)
- почитай вот это
- https://docs.google.com/document/d/10qSwWTQ6pGfVZSwOes-1QSmdflMiGD2U_y53VHq2m20/edit#bookmark=id.txqig9rkgybo
- у нас - как раз е2е тест
- */
- 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(
- texts("task1", "task2" , "task3", "task4"));
- /*
- спорно - стоило ли переносить код на 2 строки)
- в данном случае - и в одну строку было бы ок
- существуют общепринятые правила форматирования кода
- стоит их придерживаться - для большинства код в таком виде -
- имеет наиболее читабельный вид
- чтобы код привести к такому виду - в IntelIJ Idea
- выдели код и в меню code->reformat code
- обрати внимание - что изменится
- по проверке
- неплохо выбрал кондишен -
- так мы проверим количество, порядок и сами тексты
- единственное - тексты сравним не на равенство, а на вхождение
- (текст элемента содержит такой-то текст)
- а еще точнее - проверить именно на равенство
- есть аналогичный кондишен exactTexts
- который как раз тексты сверяет на равенство
- и при этом - так же - проверяет
- количество, порядок и тексты
- это учти и в следующих проверках
- */
- $("#todo-list>li:nth-child(2)").hover();
- $("#todo-list>li:nth-child(2) .destroy").click();
- $$("#todo-list>li").shouldHave(
- texts("task1", "task3", "task4"));
- $("#todo-list>li:nth-child(3)>div>.toggle").click();
- /*
- в этом селекторе - тоже можно обойтись без div
- */
- $("#clear-completed").click();
- $$("#todo-list>li").shouldHave(
- texts("task1", "task3"));
- $("#toggle-all").click();
- $("#clear-completed").click();
- $$("#todo-list>li").shouldBe(empty);
- }}
- /*
- по поводу комментариев и пропусков строк
- да, лишних комментариев - писать не нужно
- а в следующих версиях - мы существенно уменьшим количество комментариев
- и в комментариях лишнего писать не нужно
- только важное и не очевидное
- пока - из кода не очень понятно - что мы делаем с тасками
- вот только это и стоит прокомментировать
- про пропуски строк в коде
- это - хорошее средство форматирования
- так код можно разбить на блоки - тем самым облегчить его восприятие
- но и лишних пропусков нету смысла делать - мы должны видеть эти блоки
- блок = логически цельный кусок кода
- я ниже приведу вариант твоего решения с достаточно наглядным оформлением
- сам код - править не буду)
- что поправить - см выше)
- тут - речь только про оформление
- */
- open("https://todomvc4tasj.herokuapp.com/");
- //add
- $("#new-todo").setValue("task1").pressEnter();
- $("#new-todo").setValue("task2").pressEnter();
- $("#new-todo").setValue("task3").pressEnter();
- $("#new-todo").setValue("task4").pressEnter();
- $$("#todo-list>li").shouldHave(texts("task1", "task2" , "task3", "task4"));
- //delete
- $("#todo-list>li:nth-child(2)").hover();
- $("#todo-list>li:nth-child(2) .destroy").click();
- $$("#todo-list>li").shouldHave(texts("task1", "task3", "task4"));
- //complete & clear
- $("#todo-list>li:nth-child(3)>div>.toggle").click();
- $("#clear-completed").click();
- $$("#todo-list>li").shouldHave(texts("task1", "task3"));
- //complete all & clear
- $("#toggle-all").click();
- $("#clear-completed").click();
- $$("#todo-list>li").shouldBe(empty);
Advertisement
Add Comment
Please, Sign In to add comment