В этой главе мы узнаем о тестах Skip и Xfail в Pytest.
Теперь рассмотрим следующие ситуации —
- Тест не актуален в течение некоторого времени по ряду причин.
- Внедряется новая функция, и мы уже добавили тест для этой функции.
В этих ситуациях у нас есть возможность пропустить тест или пропустить тесты.
Pytest выполнит тест xfailed, но он не будет считаться частью неудачной или пройденной проверки. Детали этих тестов не будут напечатаны, даже если тест не пройден (помните, что pytest обычно печатает данные о неудачном тесте). Мы можем xfail тесты, используя следующий маркер —
@pytest.mark.xfail
Пропуск теста означает, что тест не будет выполнен. Мы можем пропустить тесты, используя следующий маркер —
@pytest.mark.skip
Позже, когда тест становится актуальным, мы можем удалить маркеры.
Отредактируйте test_compare.py, мы уже должны включить маркеры xfail и skip —
import pytest @pytest.mark.xfail @pytest.mark.great def test_greater(): num = 100 assert num > 100 @pytest.mark.xfail @pytest.mark.great def test_greater_equal(): num = 100 assert num >= 100 @pytest.mark.skip @pytest.mark.others def test_less(): num = 100 assert num < 200
Выполните тест, используя следующую команду —
pytest test_compare.py -v
После выполнения вышеуказанная команда сгенерирует следующий результат —