julia_v_iluhina

Untitled

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