julia_v_iluhina

Untitled

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