Python 可以在目录系统中管理 Steps 文件吗?

Python Behave is it possible to manage Steps Files in a directory system?

我有一个已经变大的 behave 项目,我正在尝试整理它并管理文件系统。

我可以将我的功能文件和 "module" 文件(执行某些操作的文件)分组到一个目录结构中,而我的测试仍然 运行。但是,如果我尝试将我的步骤文件分组到步骤文件夹中的不同文件夹下,我会得到一个未实现的步骤错误。

理想情况下,我希望能够按如下方式布置我的项目

特点 组分A 功能文件 1 功能文件 2 B组份 功能文件 3 功能文件 4

步骤 常见给定步骤 常见的 When 步骤 常见的然后步骤 组分A 给定步骤 当步骤 然后步骤 B组份 给定步骤 当步骤 然后步骤

但是目前,如果我像这样放置步骤文件夹,则无法找到组件 A 和 B 步骤。

是否可以在 Py Behave 中执行此操作,还是我只需要保留我的步骤文件夹并只整理其他目录?

默认情况下,behave 只会在根 feature/steps 目录中查找步骤定义 - 如果您将文件放在子目录中,behave 将无法识别它们。

另请参阅:https://github.com/behave/behave/issues/169

在我看来,这是框架不必要的限制,但遗憾的是,这就是它的工作方式,并且按预期工作 - 即使可以说,以不同的方式工作会更好。

您可以通过将步骤定义组织到子目录中并 import从直接在下面加载的模块中插入这些子目录来解决这个问题feature/steps。参见:https://github.com/behave/behave/blob/master/features/step.use_step_library.feature

不是我最喜欢的解决方法,但它是一种解决方法。