我有一个行为项目,该项目已经变得很大,并且我正在尝试整理它并管理文件系统。
我可以将我的功能文件和“模块”文件(执行某些操作的文件)分组在目录结构中,并且我的测试仍在运行。但是,如果我尝试将我的步骤文件分组到步骤文件夹中的不同文件夹下,则会收到未实现的步骤错误。
理想情况下,我希望能够按如下所示布置项目
功能 成分A 功能文件1 功能文件2 成分B 功能文件3 功能文件4
步骤 常见的给定步骤 常见的步骤 常见的步骤 成分A 给定步骤 当步 然后步骤 成分B 给定步骤 当步 然后步骤
但是,当前,如果我像这样放置步骤文件夹,则找不到组件A和B的步骤。
是否可以在Py Behave中执行此操作,还是只需要保留我的steps文件夹并仅整理其他目录?
答案 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
这不是我最喜欢的解决方法,但这是一种解决方法。