You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何不修改应用结构且不用绝对路径向pytest测试文件导入目标模块

方案1:修改测试文件动态添加路径(无需修改原有应用代码)

之前的相对路径添加失败是因为sys.path.append("../../")的相对路径是相对于你执行pytest的工作目录,而非test_delta.py文件的存放位置,用__file__动态计算文件所在路径就可以避免这个问题:
在test_delta.py开头添加以下代码:

import sys
from pathlib import Path
# 计算项目根目录的绝对路径:test_delta.py所在的unitaire目录 → 上一级test目录 → 再上一级就是项目根目录
sys.path.append(str(Path(__file__).parent.parent.parent.resolve()))
from jobs_struct.app.job_struct.delta import ApplyDelta

方案2:执行pytest时指定PYTHONPATH(无需修改任何代码)

你已经是在项目根目录执行pytest,只需要在执行命令里临时把当前目录加入Python的模块搜索路径即可:

  • Linux/Mac系统执行:
PYTHONPATH=. pytest test/unitaire/test_delta.py
  • Windows CMD执行:
set PYTHONPATH=. && pytest test\unitaire\test_delta.py
  • Windows PowerShell执行:
$env:PYTHONPATH="."; pytest test\unitaire\test_delta.py

内容的提问来源于stack exchange,提问作者Itération 122442

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 10:00:07