Python-在*behave*测试中未找到并行目录中的包
我正在尝试用Python完成一个测试 简单的行为测试本身没有问题。但是,当我尝试使用我已经创建的包中的模块时,我就在挣扎,该包位于并行目录中 目录结构类似于:Python-在*behave*测试中未找到并行目录中的包,python,module,package,behavior,Python,Module,Package,Behavior,我正在尝试用Python完成一个测试 简单的行为测试本身没有问题。但是,当我尝试使用我已经创建的包中的模块时,我就在挣扎,该包位于并行目录中 目录结构类似于: src ├── connection │ │ │ └── api_connector.py │ ├── behave_tests │ │ │ ├─ steps │ │ │ │ │ └ testCommands.py │ │ │ ├── testConnection.
src
├── connection
│ │
│ └── api_connector.py
│
├── behave_tests
│ │
│ ├─ steps
│ │ │
│ │ └ testCommands.py
│ │
│ ├── testConnection.feature
│ └── testCommands.feature
│
└── unit_tests
通常,behave从behave\u tests目录中启动。首先,它运行良好。behave测试的所有Python代码都在testCommands.py文件中,只使用了Python核心的包
但后来我更改了testCommands.py,使用了我自己的包连接中的代码,该连接已经过测试并正常工作
在testCommands.py中,我编写了输入行
from connection.api_connector import ApiConnector, SerialApiConnector
但此输入行不是由behave解析的,它输出:
ModuleNotFoundError: No module named 'connection'
我试图通过在test_commands.py的顶部添加以下行,将包连接附加到python模块路径
但这没用
如何告诉behave使用我的连接包?进一步阅读后,我找到了解决方案
\uuuu init\uuuu.py
文件添加到两个目录中:src和connectionexport PYTHONPATH=/home/{username}/test_project/src
然后python解释器和behave找到并解析有问题的模块,只要它们是从这个shell中启动的。进一步阅读之后,我就能够找到解决方案
\uuuu init\uuuu.py
文件添加到两个目录中:src和connectionexport PYTHONPATH=/home/{username}/test_project/src
然后,python解释器和behave找到并解析所讨论的模块,只要它们是从这个shell中启动的。这里回答了类似的问题:这里回答了类似的问题: