julia_v_iluhina

Untitled

Oct 14th, 2016
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.88 KB | None | 0 0
  1.     @Test
  2.     public void testEditItemsLeft() {
  3.     /*
  4.          Поскольку будем покрывать ItemsLeft в каждом из фиче-тестов -
  5.          можно это не указывать в имени тест-метода
  6.  
  7.          Но - в имени тест-метода стоит указать - на каком фильтре это проверяли
  8.  
  9.          testEditAtAll - будет ок
  10.     */
  11.         add("1");
  12.         /*
  13.             add - предварительное действие
  14.             лучше это выделить в отдельный блок и снабдить комментарием
  15.             //given ...
  16.             ... - если предварительные действия сложные, то можно продолжить фразу - пояснить
  17.             что же мы делаем в предварительных действиях
  18.             если все просто - можно и не пояснять
  19.         */
  20.         edit("1", "1 edited");
  21.         assertItemsLeft(1);
  22.         assertTasksAre("1 edited");
  23.         assertItemsLeft(1);
  24.         /*
  25.             после тестируемого действия - нам нужно выполнить 2 проверки
  26.             важную - проверить состояние списка тасок
  27.             и менее важную - то, что мы делаем по пути - состояние Items Left
  28.  
  29.             если 2 проверки идут одна за другой
  30.             то правильнее сначала покрыть важную проверку
  31.             а затем - менее важную
  32.  
  33.             мотивы такие - если тест упадет на менее важной проверке
  34.             то у нас все равно будет фидбек по более важной проверке
  35.  
  36.             дважды проверять состояние ItemsLeft - смысла нету
  37.         */
  38.     }
  39. /*
  40.     если это все учесть, то получим
  41. */
  42.     @Test
  43.     public void testEditAtAll() {
  44.         //given
  45.         add("1");
  46.  
  47.         edit("1", "1 edited");
  48.         assertTasksAre("1 edited");
  49.         assertItemsLeft(1);
  50.     }
  51. /*
  52.     второй фиче-тест - преобразуй по аналогии
  53.     учти - что переход на нужный фильтр - это еще тестируемые действия
  54.    
  55.     еще советую чуть разнообразить тестовую ситуацию
  56.     и в предварительых действиях добавить 2 таски
  57.     и тестировать операцию - на второй таске
  58.    
  59.     так - если мы в фиче-тестах одного и того же действия
  60.     (или родственных действий) будем применять разные тестовые ситуации
  61.     то мы лучше протестируем наше приложение
  62.    
  63.     пока мы реализуем given через действия на UI(User Interface) -
  64.     без крайней необходимости переусложнять этот код не стоит
  65.     (например, для cancel edit at Active - не надо комплитить одну из тасок)
  66.     а вот когда будем реализовывать given серез работу с данными напрямую -
  67.     то сможем себе позволить тестовые ситуации поинтереснее -
  68.     т к это не будет ухудшать эффективность и надежность
  69. */
  70. ***********************************************
  71. /*
  72.  
  73.     Это к общему сведению)
  74.    
  75.     Есть разные способы выполнять предварительные действия
  76.     Мы сейчас делаем это через действия на UI (User Interface)
  77.     А есть еще методы - работать непосредственно с данными (далее вы такое тоже попробуете)
  78.     Так вот через действия на UI - предварительные действия не быстрые и часто не достаточно надежные
  79.     А через непосредственную работу с данными - предварительные действия быстрые и надежные
  80.    
  81.     Если предварительные действия медленные или не надежные
  82.     То проверка в конце предварительных действий нужна
  83.    
  84.     А если мы уверены - что после предварительных действий гарантировано все ОК,
  85.     то и проверок не надо после предварительных действий    
  86.    
  87.     Но, поскольку наше приложение - простое
  88.     Разумно не делать проверку в конце предварительных действий
  89.     чтобы наши тесты были эффективнее
  90.    
  91.     Тестировали бы что-то типа соцсети и если бы предварительные действия были
  92.     реализованы через UI - да, после предварительных действий было бы разумно
  93.     выполнить проверку (проверка после предварительных действий нам позволяет отличить -
  94.     ошибка возникла на этапе выполнения тестируемого действия, или все же раньше)
  95.    
  96.    
  97. */
Advertisement
Add Comment
Please, Sign In to add comment