Python Behve是否可以在目录系统中管理步骤文件?

时间:2019-07-05 08:28:36

标签: python-behave

我有一个行为项目,该项目已经变得很大,并且我正在尝试整理它并管理文件系统。

我可以将我的功能文件和“模块”文件(执行某些操作的文件)分组在目录结构中,并且我的测试仍在运行。但是,如果我尝试将我的步骤文件分组到步骤文件夹中的不同文件夹下,则会收到未实现的步骤错误。

理想情况下,我希望能够按如下所示布置项目

功能     成分A         功能文件1         功能文件2     成分B         功能文件3         功能文件4

步骤 常见的给定步骤 常见的步骤 常见的步骤     成分A         给定步骤         当步         然后步骤     成分B         给定步骤         当步         然后步骤

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

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

1 个答案:

答案 0 :(得分:1)

默认情况下,行为将仅在根feature/steps目录中查找步骤定义-如果将文件放在子目录中,那么行为将无法识别它们。

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

我认为这是对框架的不必要限制,但是令人遗憾的是,它是如何工作的,并且按预期方式工作-即使可以争论的是,最好以不同的方式工作。

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

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