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

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 03:42:44