黄瓜:如何从子目录中的功能访问步骤

Pla*_*Ton 0 ruby-on-rails cucumber

我正在编写一些黄瓜规格,我正在努力保持模块组织的功能.因此,例如,我的admin/posts控制器存储在features/admin/posts中

困难在于,每当我从该目录运行该功能时,它都无法识别features/step_definitions中的任何步骤.

简而言之,如何在功能子目录中包含所有基本step_definition?

Jon*_*n M 5

如果你实际上在那个文件夹中,那么你需要告诉黄瓜require命令行上的步骤定义,例如

myproject/features/admin/posts$ cucumber . -r ../../features/step_definitions
Run Code Online (Sandbox Code Playgroud)

它有点乱,因为如果你使用它们,你还必须包括任何支持文件的位置:

myproject/features/admin/posts$ cucumber . -r ../../features/step_definitions -r ../../features/support
Run Code Online (Sandbox Code Playgroud)

一种稍微简单的方法是始终从根目录运行黄瓜,并指定要运行的功能,以及require整个功能文件夹:

myproject$ cucumber -r features features/admin/posts
Run Code Online (Sandbox Code Playgroud)

将运行admin/posts目录中的所有功能,并提供必要的步骤定义和支持文件.