错误信息
重新申请开发机后,在 pycharm 中运行 unittest 遇到如下的报错(个人信息用 NAME.SUFFIX 代替):
Traceback (most recent call last):
File "/home/NAME.SUFFIX/.local/lib/python3.9/lib/python3.9/unittest/loader.py", line 34, in testFailure
raise self._exception
ImportError: Failed to import test module: /home/NAME
Traceback (most recent call last):
File "/home/NAME.SUFFIX/.local/lib/python3.9/lib/python3.9/unittest/loader.py", line 154, in loadTestsFromName
module = __import__(module_name)
ModuleNotFoundError: No module named '/home/NAME'
问题排查
通过关键词:loadTestsFromName 和 ModuleNotFoundError 查询 stackoverflow 和使用错误栈询问 chatGPT 都没能解决。
- stackoverflow 说是缺少 init.py 文件,或者是文件结构有问题
- chatGPT 认为是 sys path 存在问题
问题解决
在 google 搜索看到了 jetbrains 上的一个讨论 ,发现大概率是目录中的「.」导致的问题。因此尝试新建了一个 /home/NAME_SUFFIX 的目录,并将代码重新 deploy 到新路径中,再次运行单元测试就可以正常运行了。