用Behave测试找不到模块

2024-05-15 04:56:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我开始用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让我的模块得到认可?在


Tags: 模块namepytestimport文件夹stringinit
1条回答
网友
1楼 · 发布于 2024-05-15 04:56:14

问题是behavior期望一个相当严格的目录结构。也就是说,它不会递归地搜索steps/文件夹中的文件夹。因此,您需要将utils/文件夹的内容向上移动到steps/文件夹中,这样就可以正常工作了。在

相关问题 更多 >

    热门问题