我开始用behavior编写一些BDD测试,但是在尝试在测试中导入util模块时遇到问题。在
以下是我当前的文件夹结构:
root/
__init__.py
README
features/
__init__.py
test.feature
environment.py
steps/
__init__.py
steps_test.py
utils/
__init__.py
string_utils.py
user_utils.py
在我的环境.py,我希望在功能之前运行一些设置代码:
^{pr2}$在我的用户中_实用工具.py公司名称:
import string_utils
def create_username():
name = string_utils.gen_str(10, 3)
return name
但是当我从项目root/
文件夹运行behave
时,我得到了一个错误:
$ behave
...
File "root/features/steps/utils/user_utils.py", line 1, in <module>
import string_utils
ModuleNotFoundError: No module named 'string_utils'
但是如果我在utils/
文件夹中运行python user_utils.py
,我不会得到任何错误,这表明它确实发现模块很好。在
如何通过Behave让我的模块得到认可?在
问题是behavior期望一个相当严格的目录结构。也就是说,它不会递归地搜索
steps/
文件夹中的文件夹。因此,您需要将utils/
文件夹的内容向上移动到steps/
文件夹中,这样就可以正常工作了。在相关问题 更多 >
编程相关推荐