1. Erkennung von Session-Mock-Leck und ungültigem monkeypatch-Scope
Test Automation EngineerHintergrund
Ein Python-Projekt verwendet eine globale conftest.py und eine zusätzliche conftest.py im Unterverzeichnis tests/unit/.
Aufgabe
Tests schlagen sporadisch fehl, weil ein Mock-Patch nach Testende global aktiv bleibt und ein Modul-Scope ein funktionsgebundenes monkeypatch nutzt.
Verwendung
Fügen Sie die Quelltexte beider conftest.py-Dateien mit Dateitrenner-Markern in das Quelltextfeld ein und aktivieren Sie die Anzeige eingebauter Fixtures.
sourceInput: "# --- file: conftest.py ---\nimport pytest\nfrom unittest import mock\n\[email protected](scope=\"session\")\ndef patched_auth():\n patcher = mock.patch(\"auth.verify_token\", return_value=True)\n patcher.start()\n\n# --- file: tests/unit/conftest.py ---\nimport pytest\n\[email protected](scope=\"module\")\ndef fake_auth(monkeypatch):\n monkeypatch.setattr(\"auth.verify_token\", lambda t: True)\n return True", includeBuiltinGraph: trueErgebnis
Der Detektor meldet zwei Fehler: patched_auth startet ohne .stop() im Session-Scope und fake_auth bindet monkeypatch im unzulässigen Module-Scope.