Advertisement
julia_v_iluhina

Untitled

Jan 9th, 2017
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.40 KB | None | 0 0
  1.     @Test
  2.     public void testTasksLifeCycle() {
  3.  
  4.         add("1");
  5.         toggle("1");
  6.         /*
  7.             нужна проверка
  8.             тут мы проверим - что таска вне зависимости от статуса - на all видна
  9.             а после перехода на Active - допроверим закомпличивание
  10.         */
  11.  
  12.         filterActive();
  13.         ...
  14.  
  15.         filterCompleted();
  16.         ...
  17.         assertNoTasks();
  18.  
  19.         /*
  20.             надо было оставить переход на all
  21.             и проверку текстов тасок
  22.  
  23.             ведь мы не реализовывали фиче-тест для перехода на   all
  24.             получается - что эта высокоприоритетная операция осталась не покрытой
  25.         */
  26.     }
  27. ****************************************************
  28.     @Test
  29.     public void testDeleteTask() {
  30.         add("1", "2");
  31.         toggleAll();
  32.         filterCompleted();
  33.         delete("1");
  34.         assertTasks("2");
  35.         assertItemsLeft(0);
  36.     }
  37. /*
  38.       по оформлению
  39.  
  40.       имя фиче-теста - что тестим и на каком фильтре
  41.  
  42.       структура фиче-теста
  43.         предварительные действия
  44.         тестируемое действие
  45.         проверки
  46.  
  47.       предварительные действия начнем с комментария //given - ...
  48.       чтоб было понятно - что это предварительные действия и что за ситуацию мы в результате их получим
  49.       внутри и в конце блока предварительных действий - проверок не делаем
  50.       (мы это тут не тестируем, а используем для создания тестовой ситуации, ниже будет подробнее)
  51.  
  52.       после предварительных действий - пропустим строку
  53.       чтоб выделить - вот подготовка, вот - тестируемое действие
  54.  
  55.       проверки
  56.       сначала - более важные
  57.       затем - менее важные
  58.       (собственно - так ты и реализовал)
  59.       такой порядок - чтобы даже если тест упадет на менее важной проверке - был фидбек о важной проверке
  60.  
  61.       еще - в фиче-тестах мы можем себе позволить более интересные тестовые ситуации
  62.       например - редактирование второй таски в списке
  63.  
  64.       в итоге - с учетом этих рекомендаций - получим
  65. */
  66.     @Test
  67.     public void testDeleteAtCompleted() {
  68.         //given - completed tasks
  69.         add("1", "2");
  70.         toggleAll();
  71.         filterCompleted();
  72.  
  73.         delete("1");
  74.         assertTasks("2");
  75.         assertItemsLeft(0);
  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. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement