1. Detección de parche sin stop y monkeypatch en ámbito de módulo
Ingeniero de QA / AutomatizaciónContexto
Una suite de pruebas presenta fallos intermitentes tras la ejecución de ciertos módulos debido a estados globales modificados.
Problema
Identificar si los mocks definidos en la raíz o en subdirectorios están filtrando modificaciones a otros tests.
Cómo usarlo
Pega los bloques de conftest.py principal y tests/unit/conftest.py en el área de entrada.
sourceInput:
# --- file: conftest.py ---
import pytest
from unittest import mock
@pytest.fixture(scope="session")
def patched_auth():
patcher = mock.patch("auth.verify_token", return_value=True)
patcher.start()
return None
# --- file: tests/unit/conftest.py ---
import pytest
@pytest.fixture(scope="module")
def fake_auth(monkeypatch):
monkeypatch.setattr("auth.verify_token", lambda t: True)
return TrueResultado
El detector marca el fallo por patcher.start() sin .stop() en patched_auth y la fuga de ámbito por usar monkeypatch dentro de una fixture con scope="module".