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

Python单元测试结构化最优方案及模块导入问题解决

解决Python测试与主包导入冲突的优雅方案

方案1:统一使用绝对导入

将main.py等模块内的相对导入(如import utils)替换为基于src包的绝对导入:

from src import utils
# 或者针对模块内的具体函数/类
from src.utils import helper_func

这种方式完全适配从根目录运行测试的场景,同时主包运行时也能正常解析导入路径,无需额外配置。

方案2:将项目安装为可编辑模式

在项目根目录执行以下命令:

pip install -e .

该命令会把src目录下的包以可编辑模式安装到Python环境中,相当于把项目包加入了全局路径。之后不管是运行测试还是主程序,所有导入语句都能被正确识别,无需修改任何代码或路径配置。

方案3:通过unittest配置文件指定路径

在tests目录下创建setup.cfg文件,写入以下内容:

[unittest]
pythonpath = src

后续从根目录执行python -m unittest discover时,unittest会自动读取该配置,将src目录加入Python路径,既不用修改test/__init__.py,也能解决内部导入的问题。

内容的提问来源于stack exchange,提问作者Liutprand

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 22:35:56