“如何在黄瓜的某些特定场景之前执行5个步骤的整个场景”

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

“我可以执行一个特定的场景,假设在Cucumber的一些特定场景之前有5个步骤吗?

假设我有一个包含3个场景的功能文件,例如A,B和C.

我正在编写另一个特征文件,假设有5个场景M,N,O,P和Q.

现在我想在N和Q之前执行方案B.

注意:场景B有多个步骤,我想在执行N和Q之前执行所有步骤。

@Before Hooks适用于单个方法,后台方案将在每个senario之前执行。请给出一些解决方案。“

cucumber cucumber-jvm scenarios feature-file
2个回答
2
投票

Cucumber-Java不支持调用另一个场景。

来自FAQ

“每个场景应该是独立的;您应该能够以任何顺序或并行运行它们,而不会有一个场景干扰另一个场景。

每个场景都应该测试一件事,这样当它失败时,它会因为一个明确的原因而失败。这意味着您不会在另一个场景中重用一个场景。

如果您的方案使用相同或类似的步骤,或在您的系统上执行类似的操作,您可以提取helper methods来执行这些操作。 “

根据经验,我可以告诉你,你真的不希望你的场景相互依赖,因为你的自动化很难维护。


0
投票

在Cucumber中,每个场景都应该是独立的。因此,此处的一个选项是在一个要素文件中保留具有相似行为的方案。在您的情况下,我会将场景B,N,Q保存在一个功能文件中,其中B为背景。

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