3

我刚刚开始使用 cucumber 并且正在寻求澄清具有我的步骤定义的文件夹是否必须完全命名step_defnitions或可以是任何东西(例如my_defs)。我尝试在我的本地机器上重命名,但有时它可以工作,有时不能。

features/
|
|-- step_definitions/ 
4

2 回答 2

4

Cucumber 将自动加载 features 文件夹中的任何文件。这意味着您的步骤定义文件可以位于任何文件夹名称/结构中,只要它们位于 features 文件夹中。

请注意,可以通过执行以下操作覆盖此设置并明确说明步骤的位置:

cucumber -r your/steps/folder/location

有关更多详细信息,您可以查看帮助 - cucumber -h

-r:在执行功能之前需要文件。如果未指定此选项,则将自动加载所有同级或低于功能的 *.rb 文件。指定此选项时禁用自动加载,并且所有加载都变得显式。名为“support”的目录下的文件总是首先加载。可以多次指定此选项。

于 2013-11-13T20:56:10.087 回答
1

在我见过的所有参考资料(包括RSpec Book)中,它们总是有一个“step_definitions”文件夹用于定义。Ruby(尤其是 Rails)中的很多东西都利用了“约定优于配置”的理念,我相信这就是其中之一。我认为您只需在“功能”文件夹中创建“step_definitions”文件夹并知道它应该可以工作,而不是尝试弄清楚如何更改配置。

于 2013-11-13T20:20:37.453 回答