由于“ ImportError”,新的Python项目无法运行测试

时间:2019-09-27 08:11:44

标签: python python-3.x pytest

今天,我尝试进行一些练习,并创建了两个文件'〜/ 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创建新项目时,我没有看到文件中的差异,但是,一个可行,而另一个却无效。

我忘记了什么吗?

3 个答案:

答案 0 :(得分:0)

bank.pytest_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