_bootstrap.py 715 B

1234567891011121314151617181920212223242526272829
  1. """阶段测试脚本的统一启动引导。
  2. 确保相对路径始终从项目根目录解析,并允许未执行
  3. uv sync 时直接从 src 导入正式功能模块。
  4. """
  5. from __future__ import annotations
  6. import os
  7. import sys
  8. from pathlib import Path
  9. PROJECT_ROOT = Path(__file__).resolve().parent.parent
  10. SOURCE_ROOT = PROJECT_ROOT / "src"
  11. # 让 test_step*.py 在未显式设置环境变量时能读取 .env(如 PROPOSA_WORK_DIR)。
  12. try:
  13. from dotenv import load_dotenv
  14. load_dotenv(PROJECT_ROOT / ".env", override=False, encoding="utf-8-sig")
  15. except Exception:
  16. pass
  17. source_path = str(SOURCE_ROOT)
  18. if source_path not in sys.path:
  19. sys.path.insert(0, source_path)
  20. os.chdir(PROJECT_ROOT)