Выводите ли вы проверки в тестах как шаги в отчетах по тестированию?

Привет.

Выводите ли вы проверки в тестах как шаги в отчетах по тестированию?

Например, есть тест:

  1. Открыть главную страницу
  2. Перейти на форму авторизации
  3. Ввести логин и пароль
  4. Отправить форму на сервер

Если использовать Allure и аннотации @Step, то положительный отчет по тесту будет такой:

  1. Открыл главную страницу
  2. Перешел на форму авторизации
  3. Ввел логин и пароль
  4. Отправил форму на сервер

Из такого списка менеджеру\читателю не понятно какие проверки выполнялись, для того чтобы понять насколько можно доверять этому тесту.

Тогда можно вынести проверки в хелперы и добавить к ним @Step. В этом случае отчет будет такой:

  1. Открыл главную страницу
  2. Перешел на форму авторизации
  3. Ввел логин и пароль
  4. Отправил форму на сервер
  5. Проверил, что меня перенаправило на главную
  6. Проверил, что доступен личный кабинет
  7. Проверил, что отображается мое ФИО.

Привет!

Да, часто эта информация довольно полезная.
Например можно написать аспект поверх assertThat и он превращать вызов этого метода в AllureStep.
Вот пример аспекта для библиотеки assertj.

Ты пользуешься стандартными junit4 ассертами?

1 лайк

Привет.
Я пользуюсь стандартными ассертами и ассертами harmcrest. Есть todo перейти на assertj, т.к. мне сказали, там можно выводить разницу между коллекциями.
Спасибо за ответ.

Если будут еще вопросы про allrue - обращайся, я теперь буду мониторить этот тег и стараться оперативно отвечать на возникающие вопросы.

С AssertJ можно и без AOP обойтись в случае написания custom assertions на бизнес сущности. Тогда все степы будут внутри класса с ассертами.

P.S. Сам пробовал оба варианта. С аспектом конечно меньше кода получается. Но в зависимости от требуемого уровня читабельности, может быть сложен в реализации.