【发布时间】:2020-07-09 01:10:24
【问题描述】:
我正在尝试在 Python 中完成 behave 测试。
简单的行为测试本身没有问题。但是,当我尝试使用我已经创建并且位于并行目录中的包中的模块时,我正在苦苦挣扎。
目录结构类似于:
src
├── connection
│ │
│ └── api_connector.py
│
├── behave_tests
│ │
│ ├─ steps
│ │ │
│ │ └ testCommands.py
│ │
│ ├── testConnection.feature
│ └── testCommands.feature
│
└── unit_tests
通常,behave 从 behave_tests 目录中启动。起初,它运行良好。用于行为测试的所有 Python 代码都在文件 testCommands.py 中,只使用了来自 python 核心的包。
但后来我更改了 testCommands.py 以使用我自己的包 connection 中的代码,该包已经过测试和工作。
在 testCommands.py 我写了输入行
from connection.api_connector import ApiConnector, SerialApiConnector
但是这个输入行没有被行为解析,它输出:
ModuleNotFoundError: No module named 'connection'
我尝试通过将以下行添加到 test_commands.py
的顶部,将我的包 connection 附加到 python 模块路径import sys
sys.path.append('/home/username/projects/projectname/src/connection/')
但这并没有帮助。
我如何告诉 behave 使用我的 connection 包?
【问题讨论】:
-
类似问题已在此处得到解答:stackoverflow.com/questions/14886143/…
标签: python module package behavior