我目前正在编写一些黄瓜规格,而我正在努力保持模块组织的功能。因此,例如,我的管理员/帖子控制器存储在features / admin / posts
中难点在于,每当我从该目录运行该功能时,它都无法识别features / step_definitions中的任何步骤。
简而言之,如何在功能子目录中包含所有基本step_definition?
答案 0 :(得分:5)
如果您实际上在该文件夹中,那么您需要告诉黄瓜require
命令行上的步骤定义,例如
myproject/features/admin/posts$ cucumber . -r ../../features/step_definitions
如果您使用它们,您还必须包含任何支持文件的位置,这有点乱:
myproject/features/admin/posts$ cucumber . -r ../../features/step_definitions -r ../../features/support
一种稍微简单的方法是始终从根目录运行黄瓜,并指定要运行的功能,只需require
整个功能文件夹:
myproject$ cucumber -r features features/admin/posts
将运行admin / posts目录中的所有功能,并提供必要的步骤定义和支持文件。