diff --git a/tradein-mvp/backend/tests/test_scheduler_main.py b/tradein-mvp/backend/tests/test_scheduler_main.py index 995b22b7..439926f3 100644 --- a/tradein-mvp/backend/tests/test_scheduler_main.py +++ b/tradein-mvp/backend/tests/test_scheduler_main.py @@ -49,16 +49,12 @@ async def test_run_cancels_cleanly(monkeypatch: pytest.MonkeyPatch) -> None: cancelled.set() await asyncio.sleep(999) - monkeypatch.setattr("app.scheduler_main.scheduler_loop", _stub_loop, raising=False) - - # Патчим импорт внутри _run (он делает `from app.services.scheduler import scheduler_loop`) + # Патчим источник импорта: _run() делает `from app.services.scheduler import scheduler_loop` + # на каждый вызов, поэтому патч модуля-источника достаточен. import app.services.scheduler as _sched_mod monkeypatch.setattr(_sched_mod, "scheduler_loop", _stub_loop) - # Также патчим внутри самого модуля если он уже закешировал ссылку - # (на случай если _run делает локальный import каждый раз — оба патча идемпотентны) - task = asyncio.create_task(sm._run()) # Ждём пока _stub_loop запустится (флаг)