测试文件导入错误
ImportError in test files
我见过很多与此类似的问题,但 none 的解决方案对我有用。在我正在开发以自学如何创建 python 包的测试包上尝试 运行 pytest 时出现导入错误。
目前我有一个 python 包看起来像
MyPackage/
- src/
- modules/
- __init__.py
- module_a.py
- tests/
- test_module_a.py
我的 test_module_a.py
包含
import pytest
from modules.module_a import MyClass
# ... some tests
运行终端中的命令pytest
显示
ImportError while importing test module '/Users/.../Desktop/MyPackage/tests/test_module_a.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
../../anaconda3/lib/python3.8/importlib/__init__.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/test_module_a.py:2: in <module>
from modules.module_a import MyClass
E ModuleNotFoundError: No module named 'modules'
我试图通过 pycharm 解释器添加路径,但尚未修复。我也见过使用 sys
包来更改测试文件中的路径的方法,但我相当确定有一种方法可以在没有它的情况下将测试设置为在 pycharm 中工作。此外,我想准备好通过 github 设置自动测试,因此找出一种与此完美集成的方法是理想的。
错误与环境无关。我遵循的教程在 setup.cfg
中的 name
下放置了一个与模块名称不同的名称,因此将其设置为匹配解决了问题。
我见过很多与此类似的问题,但 none 的解决方案对我有用。在我正在开发以自学如何创建 python 包的测试包上尝试 运行 pytest 时出现导入错误。
目前我有一个 python 包看起来像
MyPackage/
- src/
- modules/
- __init__.py
- module_a.py
- tests/
- test_module_a.py
我的 test_module_a.py
包含
import pytest
from modules.module_a import MyClass
# ... some tests
运行终端中的命令pytest
显示
ImportError while importing test module '/Users/.../Desktop/MyPackage/tests/test_module_a.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
../../anaconda3/lib/python3.8/importlib/__init__.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
tests/test_module_a.py:2: in <module>
from modules.module_a import MyClass
E ModuleNotFoundError: No module named 'modules'
我试图通过 pycharm 解释器添加路径,但尚未修复。我也见过使用 sys
包来更改测试文件中的路径的方法,但我相当确定有一种方法可以在没有它的情况下将测试设置为在 pycharm 中工作。此外,我想准备好通过 github 设置自动测试,因此找出一种与此完美集成的方法是理想的。
错误与环境无关。我遵循的教程在 setup.cfg
中的 name
下放置了一个与模块名称不同的名称,因此将其设置为匹配解决了问题。