黄瓜功能文件中的所有步骤都可以在所有功能文件中重复使用吗?

时间:2018-12-20 16:55:38

标签: cucumber cucumber-jvm

黄瓜的特征文件中的所有步骤都可以在所有特征文件中重复使用吗?

由于每个步骤短语应唯一,因此可以在所有功能文件中重复使用。

如果没有,为什么不应该?

2 个答案:

答案 0 :(得分:0)

在ruby Cucumber中,这是默认设置。在features / step_definitions中任意位置定义的步骤可以在任何feature中使用。黄瓜将检测到何时存在多个匹配的步骤,并就此警告您。

在Java中,事情应该是相同的,但不可避免地实现起来会更复杂。因为我不使用Java,所以恐怕我不知道该如何实现的细节。

答案 1 :(得分:0)

是的,步骤定义在功能之间共享

“步骤定义未链接到特定的特征文件或场景。步骤定义的文件,类或程序包名称不会影响将匹配的Gherkin步骤。唯一重要的是步骤定义的表达式。 ” (来源:docs

我认为,这是使用黄瓜的主要好处之一。

事实上,使用特征耦合步骤定义被认为是反模式:

“功能耦合的步骤定义是不能在功能或场景中重复使用的步骤定义。 这可能导致步骤定义,代码重复和维护成本高昂。” (来源:docs