Прелести Pytest: боремся с упавшими тестами

Как известно, тесты могут периодически падать. Что делать? Попробуем добавить другой тест с багом, что позволит нам выполнить проверку:

А вот, что мы увидим теперь при запуске Pytest:

Таким образом, тест test_subtraction упал с "F" вместо ".". Мало того, Pytest выводит сообщения трассировки, которые показывают упавшее утверждение совместно с модулем и номером строки. Важно сказать, что реальные значения каждого выражения в нашем утверждении также отображаются: diff оценивается как 0, а это явно не равно 1.

Неплохо. По сути, мы получили самодиагностику утверждений, что может быть весьма полезным при определении причин падения тестов.

Теперь исправим наш баг:

И перезапустим наши тесты:

Ура, мы снова на верном пути!

Источник: https://blog.testproject.io/2019/07/16/python-test-automation-project-using-pytest/.