“我可以执行一个特定的场景,假设在Cucumber的一些特定场景之前有5个步骤吗?
假设我有一个包含3个场景的功能文件,例如A,B和C.
我正在编写另一个特征文件,假设有5个场景M,N,O,P和Q.
现在我想在N和Q之前执行方案B.
注意:场景B有多个步骤,我想在执行N和Q之前执行所有步骤。
@Before Hooks适用于单个方法,后台方案将在每个senario之前执行。请给出一些解决方案。“
Cucumber-Java不支持调用另一个场景。
来自FAQ:
“每个场景应该是独立的;您应该能够以任何顺序或并行运行它们,而不会有一个场景干扰另一个场景。
每个场景都应该测试一件事,这样当它失败时,它会因为一个明确的原因而失败。这意味着您不会在另一个场景中重用一个场景。
如果您的方案使用相同或类似的步骤,或在您的系统上执行类似的操作,您可以提取helper methods来执行这些操作。 “
根据经验,我可以告诉你,你真的不希望你的场景相互依赖,因为你的自动化很难维护。
在Cucumber中,每个场景都应该是独立的。因此,此处的一个选项是在一个要素文件中保留具有相似行为的方案。在您的情况下,我会将场景B,N,Q保存在一个功能文件中,其中B为背景。