Back to questions
Yadro
Middle+
4
Что такое маркеры (marks) в pytest?
Companies where asked
Answer from AI
sobes.tech AI
В pytest маркеры (marks) — это способ помечать тесты для их группировки, фильтрации или изменения поведения при запуске.
Основные применения маркеров:
- Группировка тестов: например, пометить тесты как "slow", "database", "api" и запускать только определённые группы.
- Пропуск тестов: с помощью маркера
@pytest.mark.skipили@pytest.mark.skipifможно пропускать тесты при определённых условиях. - Параметризация: хотя для параметризации есть отдельный механизм, маркеры могут использоваться для дополнительной логики.
Пример использования маркера:
import pytest
@pytest.mark.slow
def test_heavy_computation():
# тест, который занимает много времени
assert True
@pytest.mark.skipif(condition, reason="Причина")
def test_skip_example():
assert False
Для запуска тестов с определённым маркером используется опция командной строки:
pytest -m slow
Маркеры помогают организовать тесты и управлять их запуском в больших проектах.