【发布时间】:2021-10-12 04:45:52
【问题描述】:
设置
首先,这是文件结构:
BankParser
|--BankParser
| |-- __init__.py
| |-- DatabaseManager.py
| |-- utilities.py
|--Tests
|-- __init__.py
|-- test_DatabaseManager.py
在 test_DatabaseManager.py 中,我有:import BankParser.DatabaseManager as dbm
我通过以下方式调用 pytest,从 VSCode 集成命令行:pipenv run pytest --verbosity=1 --color=auto --junit-xml=Output\\TestsReport.xml --no-cov Tests
问题
以上述方式调用pytest会导致:
Tests\test_DatabaseManager.py:3: in <module>
import BankParser.DatabaseManager as dbm
BankParser\DatabaseManager.py:5: in <module>
import utilities as u
E ModuleNotFoundError: No module named 'utilities'
您可以猜到,在 DatabaseManager.py 中,我们有import utilities.py as u
问题
为什么这个导入没有解决?我认为它应该在 BankParser 包的上下文中处理?在 DatabaseManager 中使用实用程序本身可以正常工作,只是在从 Tests 调用时显示为问题。
【问题讨论】:
标签: python import module package pytest