julia_v_iluhina

Untitled

Sep 12th, 2016
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.06 KB | None | 0 0
  1. public class TodoMvcTest {
  2.  
  3.     @Test
  4.     public void manageTasks(){
  5.         open("https://todomvc4tasj.herokuapp.com/");
  6.  
  7.         add("1", "2");
  8.         /*
  9.             если бы у тебя была одна таска - "2"
  10.             далее можно было бы использовать действия для таски "2" - в качестве неявных проверок
  11.  
  12.             рекомендую добавить одну таску и использовать неявные проверки - как ты и реализовала
  13.  
  14.             еще совет
  15.             используй в качестве текстов тасок - буквы - a, b, c ...
  16.             так легче будет выделить - текстовую информацию от числовой
  17.             код будет проще читаться
  18.  
  19.             если думаешь - что add("1", "2") - это одна операция
  20.             то нет)
  21.             это - 2 операции
  22.             да, действительно, добавлением одной таски мы не обойдемся
  23.             потому - лучше тут одну добавить
  24.             и позже еще одну
  25.  
  26.             так мы наиболее эффективно используем неявные проверки
  27.         */
  28.         edit("2", "2 edited");
  29.         toggle("2 edited");
  30.         assertTasksAre("1", "2 edited");
  31.  
  32.         switchActiveFilter();
  33.         /*
  34.             методы перехода по фильтрам - верно преобразовала )
  35.  
  36.             а вот имена - можно проще)
  37.             filterActive()
  38.                 что делаем - фильтруем
  39.                 ну а далее - детализируем...
  40.             если будешь переименовывать - это должно коснуться всех 3-х методов для переходов по фильтрам
  41.                 как переименовать метод/класс/переменную/параметр
  42.                 https://docs.google.com/document/d/13dNyFGbI7mV22UUhH8E0LJ7SzabAmX7Bw7VCHScYfiU/edit#bookmark=id.uaiq15o3yjor
  43.  
  44.             если ранее добавить только одну таску - тут получишь пустой список
  45.             этот факт придется проверить
  46.             самое время добавить еще одну таску)
  47.             и продолжить использовать неявные проверки
  48.         */
  49.  
  50.         /*
  51.             сценарий - оптимальный
  52.             тут все ок
  53.         */
  54. ***************************
  55.  
  56.     private void toggle(String taskText) {
  57.     private void activate(String taskText){
  58. /*
  59.         по этим методам - окончательно определись
  60.         с учетом нашей переписки в слеке
  61.  
  62.         имя метода должно точно отражать - что метод делает
  63.         в какой бы тестовой ситуации его ни вызвали
  64.  
  65.         и код методов должен быть DRY
  66.         (почитай про этот принцип в faq)
  67. */
  68. *******************************
  69.     private void edit(String oldTaskText, String newTaskText){
  70.     private void cancelEdit(String oldTaskText, String newTaskText){
  71. /*
  72.     setValue(newTaskText + Keys.ESCAPE)
  73.      можно переписать как
  74.     setValue(newTaskText).pressEscape()
  75.  
  76.     посмотри на код методов - много повторений - код не DRY
  77.         https://docs.google.com/document/d/13dNyFGbI7mV22UUhH8E0LJ7SzabAmX7Bw7VCHScYfiU/edit#heading=h.lzxge2s5ilgv
  78.             Вот эту повторяющуюся часть
  79.                 tasks.....doubleClick();
  80.                 tasks.....setValue(newTaskText)
  81.             Вынеси в метод xxx(...) возвращающий SelenideElement = элемент,
  82.             который использовали для ввода нового текста
  83.  
  84.             Чтобы далее его переиспользовать - xxx(...).pressEscape()
  85.  
  86.             Сразу подумай над именем метода - это еще не радактирование (т к не было подтверждения)
  87.             а только начало/старт редактирования
  88.  
  89. */
  90. **************************
  91.     private void assertItemsLeft(Integer quantityTasks){
  92. /*
  93.     реализация - ок
  94.  
  95.     можно уточнить селектор "#todo-count>strong"
  96.  
  97.     про имя параметра
  98.         можно использовать лаконичный вариант Integer count - в сочетании с именем метода достаточно понятно
  99.         а можно - подробнее - Integer activeTasksCount, к примеру
  100. */
Advertisement
Add Comment
Please, Sign In to add comment