Sobes.tech
Назад к вопросам
Middle+
5

Что такое маркеры (marks) в pytest?

Компании, где спрашивали
YadroYadro

Ответ от нейросети

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

Маркеры помогают организовать тесты и управлять их запуском в больших проектах.