Files

24 lines
1003 B
Python

from __future__ import annotations
import sys
from pathlib import Path
from types import ModuleType
def _register_namespace(module_name: str, module_path: Path) -> None:
namespace_pkg = ModuleType(module_name)
namespace_pkg.__path__ = [str(module_path)] # type: ignore[attr-defined]
sys.modules.setdefault(module_name, namespace_pkg)
def pytest_sessionstart(session) -> None:
"""避免测试导入 app.module.* 时触发 app/module/__init__.py 的重依赖加载。"""
root = Path(__file__).resolve().parents[1] / "app" / "module"
_register_namespace("app.module", root)
_register_namespace("app.module.cleaning", root / "cleaning")
_register_namespace("app.module.cleaning.service", root / "cleaning" / "service")
_register_namespace("app.module.rag", root / "rag")
_register_namespace("app.module.rag.service", root / "rag" / "service")
_register_namespace("app.module.rag.service.common", root / "rag" / "service" / "common")