Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Test
- public void taskWorkFlow(){
- add("task1");
- assertTasksAre("task1");
- toggle("task1");
- /*
- между toggle("task1") и add("task1") - можно не делать проверки
- toggle("task1") - будет неявной проверкой
- */
- assertTasksAre("task1");
- filterActive();
- assertNoVisibleTasks();
- add("task2");
- cancelEdit("task2", "task2 edited");
- /*
- это мы обещали не покрывать в е2е
- а покрытть в фиче-тесте
- */
- *************************************
- @Test
- public void testConfirmEdit(){
- add("task1");
- confirmEdit("task1", "task1 edited");
- assertTasksAre("task1 edited");
- }
- ...
- @Test
- public void testItemsLeftAfterConfirmEdit(){
- add("task1");
- confirmEdit("task1", "task1 edited");
- assertItemLeft(1);
- }
- /*
- посмотри в комментарии к прошлой работе)
- мы же почему решили покрыть ItemsLeft после confirmEdit
- потому что нам было по пути)
- и потому что такая проверка не усложнит фиче-тест
- сама сравни - методы очень похожи)
- так зачем их такие похожие делать?
- дальше - общие рекомендации
- примени ко всем фиче-тестам
- и не забудь - что и на каком фильтре ты планировала проверять
- */
- /*
- имя фиче-теста - что тестим и на каком фильтре
- структура фиче-теста
- предварительные действия
- тестируемое действие
- проверки
- предварительные действия начнем с комментария //given - ...
- чтоб было понятно - что это предварительные действия и что за ситуацию мы в результате их получим
- внутри и в конце блока предварительных действий - проверок не делаем
- (мы это тут не тестируем, а используем для создания тестовой ситуации, ниже будет подробнее)
- после предварительных действий - пропустим строку
- чтоб выделить - вот подготовка, вот - тестируемое действие
- проверки
- сначала - более важные
- затем - менее важные
- (собственно - так ты и реализовал)
- такой порядок - чтобы даже если тест упадет на менее важной проверке - был фидбек о важной проверке
- еще - в фиче-тестах мы можем себе позволить более интересные тестовые ситуации
- например - редактирование второй таски в списке (а не единственной)
- */
- /*
- Это к общему сведению)
- Есть разные способы выполнять предварительные действия
- Мы сейчас делаем это через действия на UI (User Interface)
- А есть еще методы - работать непосредственно с данными (далее вы такое тоже попробуете)
- Так вот через действия на UI - предварительные действия не быстрые и часто не достаточно надежные
- А через непосредственную работу с данными - предварительные действия быстрые и надежные
- Если предварительные действия медленные или не надежные
- То проверка в конце предварительных действий нужна
- А если мы уверены - что после предварительных действий гарантировано все ОК,
- то и проверок не надо после предварительных действий
- Но, поскольку наше приложение - простое
- Разумно не делать проверку в конце предварительных действий
- чтобы наши тесты были эффективнее
- Тестировали бы что-то типа соцсети и если бы предварительные действия были
- реализованы через UI - да, после предварительных действий было бы разумно
- выполнить проверку (проверка после предварительных действий нам позволяет отличить -
- ошибка возникла на этапе выполнения тестируемого действия, или все же раньше)
- */
Advertisement
Add Comment
Please, Sign In to add comment