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

运行Python unittest测试套件遇ModuleNotFoundError问题求助

解决ModuleNotFoundError: No module named 'tests'的问题

方案一:调整导入语句

修改tests/unit_test_suite.py中的导入代码,去掉tests.前缀——因为用-m模式运行时,tests已经作为顶层模块被识别,内部模块引用不需要重复指定:

import sys
import unittest

from mod1.test1 import TestClass1
from mod1.test2 import TestClass2

if __name__ == "__main__":
    suite = unittest.TestSuite()
    tests = [TestClass1, TestClass2]
    for test in tests:
        suite.addTest(unittest.makeSuite(test))
    result = unittest.TextTestRunner().run(suite)
    sys.exit(not result.wasSuccessful())

完成修改后,在tests文件夹的父目录下执行原命令:

python3 -m tests.unit_test_suite

方案二:临时添加目录到模块搜索路径

如果不想修改代码,可以在执行命令前,把当前工作目录(tests的父目录)加入Python的模块搜索路径:

Linux/macOS

export PYTHONPATH=".:$PYTHONPATH"
python3 -m tests.unit_test_suite

Windows(PowerShell)

$env:PYTHONPATH = ".;" + $env:PYTHONPATH
python3 -m tests.unit_test_suite

方案三:直接运行脚本(不使用-m模式)

在tests的父目录下,直接执行脚本文件:

python3 tests/unit_test_suite.py

这种方式下,原代码中的from tests.mod1.test1 import...导入语句可正常工作,因为Python会自动将脚本所在的父目录加入模块搜索路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 06:10:30