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