artem24630 / autotesting-2022

0 stars 0 forks source link

Ревью #3

Open eliizaveta opened 2 years ago

eliizaveta commented 2 years ago

Создание пользователя и логин лучше для каждого теста делать в Before, а не в общем AbstractTest, тк мы можем захотеть написать тест, где не нужна сессия, например, на регистрацию

Один тест - один класс (Не считая @ Nested, где кстати можно сделать Before, который будет распространяться на все классы и выполнять логин). Для запуска группы тестов можно делать сюиты

Добавить в ассерты сообщения, поясняющие падения https://github.com/artem24630/autotesting-2022/blob/512a593537ac513ab42931930a85dec79d9203ba/src/test/java/tests/MessagePageTest.java#L35

Класс MessagePageTest - Где внутри @ Nested тесты? https://github.com/artem24630/autotesting-2022/blob/512a593537ac513ab42931930a85dec79d9203ba/src/test/java/tests/MessagePageTest.java#L59

Тут тоже добавить should проверки https://github.com/artem24630/autotesting-2022/blob/512a593537ac513ab42931930a85dec79d9203ba/src/test/java/pages/elements/ChatsPageElement.java#L74

Аннотация @ParameterizedTest не раскрыта, тк мы передаем по сути идентичные параметры

Целый тест в одной функции не очень практика https://github.com/artem24630/autotesting-2022/blob/512a593537ac513ab42931930a85dec79d9203ba/src/test/java/pages/MessagesPage.java#L95 Лучше в тестовом классе, например, выполнять логин, заходить в сообщения, там же получать первый чат, проверять, что он не null - assertNotNull(firstChat, "У пользователя не найдено чатов"), остальные проверки оставить в функции и сделать ее просто функцией, проверяющей, что все нужные элементы на месте, либо для этого сделать отдельную обертку, либо сделать отдельные функции на корректное имя чата и тд и, например, в функцию на имя чата передавать ожидаемое значение и сравнивать с актуальным там, или возвращать имя чата и уже в классе делать assertEquals()