0

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

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

我正在编写另一个功能文件,假设有 5 个场景 M、N、O、P 和 Q。

现在我想在 N 和 Q 之前执行场景 B。

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

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

4

2 回答 2

2

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

常见问题解答

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

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

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

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

于 2019-03-25T07:05:29.183 回答
1

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

于 2019-04-05T22:43:37.653 回答