运行Python API测试脚本时遇ModuleNotFoundError错误求助
解决API测试运行时的ModuleNotFoundError问题
错误根源
你执行python -m unittest test/test_api.py报错,是因为-m参数要求传入模块路径(用.分隔层级),而非文件路径(/分隔)。Python会把test/test_api当作一个完整的模块名,自然找不到对应的模块。
两种可行解决方式
方式1:用模块路径运行(推荐)
在项目根目录下执行以下命令:
python -m unittest test.test_api
这样Python会正确识别test是一个包,test_api是包内的测试模块。
方式2:直接运行测试文件
因为你的test_api.py脚本里已经写了if __name__ == "__main__": unittest.main(),所以也可以直接运行文件:
python test/test_api.py
测试脚本的路径优化建议
你当前脚本里添加app目录到路径的代码可以调整得更稳妥:
# 替换原来的路径添加代码 import os, sys sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
修改后,不管从哪个目录运行测试,都能正确导入app模块下的代码,之后可以直接用:
from app.api import API
避免因路径层级变化导致的导入失败。
内容的提问来源于stack exchange,提问作者dia05
相关产品推荐
相关产品推荐

