PyCharm单元测试路径问题求助:无法导入测试模块
解决PyCharm Learn单元测试路径问题导致的模块找不到错误
问题根源
从报错信息看,单元测试试图将完整文件系统路径作为模块名导入(比如/home/me/.../test_task),但Python模块导入要求用点分隔的包路径(比如tests.test_task),这才是导致ModuleNotFoundError的核心原因。
具体解决步骤
1. 确认项目结构并添加包标记
确保你的项目结构如下,且tests文件夹内存在空的__init__.py文件(用来标记该文件夹为Python包):
100 Days of Code - The Complete Python Pro Bootcamp/ └── Day 3/ └── Python Pizza/ ├── task.py └── tests/ ├── __init__.py └── test_task.py
2. 修正测试文件的导入语句
在test_task.py中,导入task.py的内容时使用正确的包路径:
- 相对导入(推荐,适配项目结构):
from ..task import 你的函数或类名
- 绝对导入(需确保项目根目录在Python路径中):
from "Day 3.Python Pizza".task import 你的函数或类名
3. 配置PyCharm源根
右键点击Python Pizza文件夹,选择Mark Directory as → Sources Root。这会让Python自动将该文件夹加入sys.path,确保测试模块能正确找到主程序模块。
4. 调整测试运行配置
打开PyCharm的Run/Debug Configurations,找到你的单元测试配置:
- 将
Working directory设置为Python Pizza文件夹的绝对路径:/home/me/PycharmProjects/100 Days of Code - The Complete Python Pro Bootcamp/Day 3/Python Pizza - 将测试
Target设置为模块名而非文件路径:选择Module选项,输入tests.test_task。
验证
重新运行单元测试,此时Python会以正确的包路径导入测试模块,而非文件系统路径,即可解决找不到模块的问题。
内容的提问来源于stack exchange,提问作者ColdCosmicSoup
相关产品推荐
相关产品推荐

