Справочник · модуль 12 «Тесты»

Упавший тест

Если тест не прошёл, pytest показывает строчку с assert, ожидание и результат. Из них ясно, что чинить.

Сравнение из жизни

Как красная пометка учителя рядом с ошибкой.

Пример

$ pytest
============================= test session starts ==============================
platform linux -- Python 3.13.0, pytest-8.3.3, pluggy-1.5.0
rootdir: /home/bit/shop
collected 2 items

test_calc.py F.                                                          [100%]

=================================== FAILURES ===================================
___________________________________ test_add ___________________________________

    def test_add():
>       assert add(2, 3) == 5
E       assert -1 == 5
E        +  where -1 = add(2, 3)

test_calc.py:5: AssertionError
=========================== short test summary info ============================
FAILED test_calc.py::test_add - assert -1 == 5
========================= 1 failed, 1 passed in 0.01s ==========================

Учитель в уроке Теперь в функции ошибка: она вычитает вместо сложения. Вместо точки появилась буква F. Это значит, что тест упал. Ниже pytest показывает разбор. Строчка со стрелкой — упавший assert. Строчки с буквой E говорят: получили минус один, а ждали пять. Второй тест прошёл: ноль минус ноль тоже ноль. Поэтому тестов нужно несколько.

Запомнить

Упавший тест — как красная пометка учителя. Видно, что ждали и что получилось.

Тема из урока 12.2 «pytest» курса PythonAZ.

В этом же уроке