小黄瓜:重复步骤是否正确?

时间:2018-05-09 16:39:59

标签: cucumber bdd gherkin cucumberjs

我正在阅读关于Gherkin的很多内容,我已经读过重复步骤并不好,为此必须使用关键字"背景",但在{的例子中{3}}他们正在重复同样的#34;鉴于"一次又一次,难道我做错了吗?我需要知道你对它的看法:

this page

2 个答案:

答案 0 :(得分:1)

与几件事情一样,这个话题会产生不同的意见。在这个特定的例子中,我会将“鉴于我选择帖子”移动到背景部分,因为这似乎是此功能上所有场景的先决条件。当然,这会使场景中的场景没有实际的Given部分,但这些部分将在执行时从背景部分合并。

我还看到过这样的情况,即有时将步骤移至背景的决定是在具有更多或更少的特征文件以及这些特征文件的结构之间进行权衡。例如,如果特定功能有10个方案,并且它们之间有很多类似的步骤 - 但是有1个或2个方案不需要特定步骤,则那些1或2个方案必须转移到新功能文件,以便在原始功能的背景部分具有完全相同的步骤。

答案 1 :(得分:0)

当然保持这样的场景是正确的。从测试人员的角度来看,场景/测试用例应该独立运行,因此,您可以针对每个功能单独保留这些测试。 但是如果您正在进行集成测试,那么可以合并其中一些测试用例,这样您就可以在一个场景中涵盖多个测试用例。 并且“给定”语句正在重复,因此您可以将其放在后台,因此您不必在每个场景中调用它。

注意:当您只需要检查特定功能或错误修复时,使用注释标记单独运行脚本时,这些单独的方案将非常方便。