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

问题描述 投票:0回答:2

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

由于每个步骤短语应该是唯一的,因此可以在所有要素文件中重复使用。

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

cucumber cucumber-jvm
2个回答
0
投票

在ruby Cucumber中,这是默认值。在features / step_definitions中任何位置定义的步骤都可以在任何功能中使用。黄瓜将检测何时有多个步骤匹配并警告您。

在java中,事情应该是相同的,但实现不可避免地更复杂。由于我不使用java,我担心我不知道如何实现这一点的细节。


0
投票

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

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

在我看来,这是使用Cucumber的主要好处之一。

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

“功能耦合步骤定义是不能跨功能或场景重复使用的步骤定义。这可能会导致步骤定义,代码重复和高维护成本的爆炸性增长。” (来源:docs

© www.soinside.com 2019 - 2024. All rights reserved.