Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private Task getTask(TaskStatus taskStatus, String taskText) {
- return new Task(taskStatus, taskText);
- }
- /*
- сравни
- new Task(taskStatus, taskText)
- getTask(taskStatus, taskText)
- выигрыш - в одну строку
- Яков в видео предлагал вариант aTask
- так - выигрыш был
- new Task(taskStatus, taskText)
- aTask(taskStatus, taskText)
- потому - вариант с aTask - лучше
- с одной стороны - понятно - о чем речь
- с другой - все же выигрыш есть в лаконичности
- можно было бы и
- task(taskStatus, taskText)
- но - мы уже применяем термин tasks - для списка тасок
- может быть путаница
- потому этот вариант - не очень
- на изменениях не настаиваю
- больше преследую цель - объяснить для чего делали метод с именем aTask
- */
- *********************************
- private void givenAtActive(TaskStatus taskStatus, String... taskTexts) {
- given(getTasks(taskStatus, taskTexts));
- filterActive();
- }
- /*
- Можно еще короче переписать - в одну строку
- givenAtActive(getTasks(taskStatus, taskTexts));
- аналогично и для givenAtCompleted(TaskStatus taskStatus, String... taskTexts)
- */
- *******************************
- @Test
- public void testTasksCommonFlow() {
- ...
- edit("A", "A Edited");
- ...
- filterActive();
- ...
- cancelEdit("B", "B Edited");
- ...
- }
- /*
- http://pastebin.com/dh3v11kt
- в твоей же работе Smoke - e2e + f
- мы вынесли edit & cancel edit из е2е
- да и дальше ты фиче-тесты реализовал для edit & cancel edit
- грамотнее - в е2е не делать edit & cancel edit в таком случае
- */
- *********************************
- @Test
- public void testEditOnAll() {
- given(ACTIVE, "A", "B");
- edit("B", "B Edited");
- assertTasks("A", "B Edited");
- assertItemsLeft(2);
- }
- @Test
- public void testEditOnActive() {
- givenAtActive(ACTIVE, "B", "C");
- edit("C", "C Edited");
- assertTasks("B", "C Edited");
- assertItemsLeft(2);
- }
- /*
- в обоих тестах = одна тестовая ситуация - работаем со второй таской в списке
- стоит в тестах для одной фичи - обеспечить разнообразие тестовых ситуаций
- писала про это в прошлый раз
- строки 79-94
- */
- ******************************
- @Test
- public void testReActivateOnAll() {
- given(COMPLETED, "F", "G");
- filterAll();
- toggleAll();
- assertTasks("F", "G");
- assertItemsLeft(2);
- }
- /*
- ReActivate или Activate ?
- раньше применяли Activate )
- зачем filterAll();?
- и делаем мы не Activate, а Activate all (toggleAll)
- сверься с тест-планом )
- и прими решение - что тут покрыть нужно)
- */
- ************************************
- @Test
- public void testCompleteAllOnAll() {
- given(ACTIVE, "J", "K", "L");
- toggleAll();
- filterActive();
- assertNoVisibleTasks();
- filterCompleted();
- assertVisibleTasks("J", "K", "L");
- assertItemsLeft(0);
- }
- /*
- у нас есть тест testSwitchFrom...To...(),
- и в e2e - покрываем переходы по фильтрам
- эти тесты - нам дают фидбек про отображение тасок по фильтрам и состояние счетчика активных тасок
- и если на задачу смотреть в коммлексе - то тут достаточно после toggleAll
- проверить состояние списка тасок и счетчика активных тасок
- т к остальное - уже покрывается другими тестами
- а если хочется быть точнее
- то тогда - делаем маленький е2е
- покрываем
- complete all
- to Completed filter
- to Active filter
- to All filter
- почему именно такие переходы - т к именно таких и не хватает
- ведь остальные варианты уже покрыты
- еще годный вариант
- complete all
- clear completed
- !!! после каждого тестируемого дейстия - проверяем состояние списка тасок
- но - вариант c e2e на самом деле хуже
- фиче-тесты - не зависят друг от друга
- фидбек по результату тестирования мы получим качественнее
- да и переходы с фильтра на фильтр - в фиче-тестах ты проверяешь точнее
- советую остановиться на фиче-тестах
- конечно, если бы мы не реализовывали полного покрытия
- то для тестирования complete all на all фильтре
- я бы использовала тест complete all + clear completed
- можно и тут так поступить)
- да, не забудь - название тест-метода должно отражать - что протестировали
- */
- *****************************
- public void testSwitchFromAllToComplete()
- /*
- to Completed - буквы не хватает
- касается и имен других тест-методов
- */
- public void testSwitchFromActiveToAll() {
- public void testSwitchFromCompletedToActive() {
- /*
- во всех 3-х тестах - не надо перед тестируемым действием
- = переходом на нужный фильтр
- делать проверку состояния списка тасок
- тоже - посмотри на тесты в комплексе
- у нас есть фидбек про то, как таски отображаются а каждом из фильтров
- достаточно проверок после тестируемого действия
- это так потому - что у нас есть эти 3 теста
- */
- ********************************************
- public void testDeleteTaskByEmptyingTextOnComplete() {
- /*
- тут - как и везде
- не нужны проверки после гивен-метода
- OnComplete - OnCompleted - буквы не хватает
- */
- *************************************
- public void testCancelEditByPressEscapeOnAll() {
- public void testCancelEditByPressEscapeOnActive() {
- public void testCancelEditByPressEscapeOnComplete() {
- /*
- CancelEdit - можно только через PressEscape сделать
- потому PressEscape - можно в имени не уточнять
- в 2-ух тестах из 3-ех - одинаковая тестовая ситуация
- это подправь
- */
- ****************************************
- public void testConfirmEditByPressTabOnAll() {
- public void testConfirmEditByClickOutside() {
- /*
- не указал в имени - на каком фильтре покрыл
- ну и лучше не на all это делать
- т к testConfirmEditByPressTab - уже на all покрыл
- */
- ***************************************
- private void confirmEditByClickOutside(String oldTaskText, String newTaskText) {
- startEdit(oldTaskText, newTaskText);
- $("#header").click();
- }
- /*
- логично - надо кликнуть на чем-то другом
- да еще и таком, чтоб по клику ничего, кроме смены фокуса, не происходило
- и еще красивее можно реализовать
- если кликать на чем-то с уже используемым селектором
- идеальный кандидат - $("#new-todo")
- вот это учти
- https://docs.google.com/document/d/13dNyFGbI7mV22UUhH8E0LJ7SzabAmX7Bw7VCHScYfiU/edit#bookmark=id.4i6i27d7lwn4
- */
- ****************************
- private void confirmlEditByTab(String oldTaskText, String newTaskText) {
- /*
- не confirml, а confirm
- в IntelIJ Idea ошибки спеллинга подчеркиваются зеленой волнистой линией
- */
Advertisement
Add Comment
Please, Sign In to add comment