Ctrl K
ComunidadGuías…

conftest.py

Rama master · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
"""Project-wide pytest configuration."""

from __future__ import annotations

import importlib.util
from collections.abc import Sequence


def _has_pytest_cov() -> bool:
    return importlib.util.find_spec("pytest_cov") is not None


def _has_option(args: Sequence[str], option: str) -> bool:
    option_with_equals = f"{option}="
    for arg in args:
        if arg == option or arg.startswith(option_with_equals):
            return True
    return False


def pytest_load_initial_conftests(early_config, parser, args) -> None:
    """Conditionally inject pytest-cov options when the plugin is available."""
    if not _has_pytest_cov():
        return

    if not _has_option(args, "--cov"):
        args.append("--cov=rex")
    if not _has_option(args, "--cov-report"):
        args.append("--cov-report=term-missing")
    if not _has_option(args, "--cov-fail-under"):
        args.append("--cov-fail-under=25")