今天,我尝试进行一些练习,并创建了两个文件'〜/ bankocr / bank.py'和'〜/ bankocr / tests / test_working.py'
当我尝试在控制台中执行“ pytest”时,出现下一个错误:
ImportError while importing test module '~/bankocr/tests/test_bank.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
tests/test_bank.py:2: in <module>
from bank import size_of
E ImportError: No module named bank
使用IDE创建新项目时,我没有看到文件中的差异,但是,一个可行,而另一个却无效。
我忘记了什么吗?
答案 0 :(得分:0)
bank.py
和test_bank.py
不在同一文件夹中。您可以尝试使用相对导入,
from ..bank import size_of
答案 1 :(得分:0)
此错误仅基于pythonpaths。您应在pytest.ini / tox.ini文件中引入该路径。
请按照以下步骤操作:-
(1)在您的父目录中创建pytest.ini文件。
(2)通过以下方式进行编辑:-
[pytest]
python_paths = . ~/bankocr/
然后执行代码。我希望您在创建上述文件后不会看到该错误。
参考:-
https://github.com/bigsassy/pytest-pythonpath/blob/master/pytest.ini
答案 2 :(得分:0)
相反,您可以按以下方式运行测试
python -m bankocr.tests
它将运行tests文件夹内的所有测试模块。另外,在“〜/ bankocr /”处添加 init .py以导入其他模块,例如bank.py