【问题标题】:"How to execute a whole scenario with 5 steps before some particular scenarios in cucumber"“如何在黄瓜中的某些特定场景之前用 5 个步骤执行整个场景”
【发布时间】:2019-03-23 20:09:38
【问题描述】:

“我可以在 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


【解决方案1】:

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

来自FAQ

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

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

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

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

【讨论】:

  • 我明白了。但这是我们的项目需求。我们的应用就是这样。
【解决方案2】:

在 Cucumber 中,每个场景都应该是独立的。因此,这里的一种选择是将具有相似行为的场景保留在一个功能文件中。在您的情况下,我会将场景 B、N、Q 保存在一个以 B 作为背景的功能文件中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-27
    • 1970-01-01
    • 1970-01-01
    • 2011-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多