我有场景1、场景2和场景3,它们有5个共同的步骤。
示例:
Scenario-1:
Given User Step1
And User Step2
And User Step3
And User Step4
And User Step5
When User Completes 5 steps in X
Then User Signoff X
Scenario-2:
Given User Step1
And User Step2
And User Step3
And User Step4
And User Step5
When User Completes 5 steps in Y
Then User Signoff Y
Scenario-3:
Given User Step1
And User Step2
And User Step3
And User Step4
And User Step5
When User Completes 5 steps in Z
Then User Signoff Z
我可以调用Step1to5,而不是每次都编写所有常见的5个步骤
Scenario-N
Given User Step1to5
When User Completes 5 steps in N
Then User Signoff N
注意:我了解到,在规范流中,从步骤开始的步骤缩放在最新版本中被删除了,如果从步骤开始调用步骤是一个选项,我提到了JAVA框架,那里使用了一个组标记来将重复的步骤俱乐部到一个公共步骤中,是否有类似的东西可以在cubble c#中使用?
1条答案
按热度按时间2izufjch1#
将常见步骤分组到方案背景中:
将为功能中的每个方案执行
Background
步骤。如果某些方案不应包括这些步骤,则将它们移动到各自的功能文件中。如果你所做的只是每个场景保存5个步骤,我认为你不需要消除这种重复。行为驱动的开发测试的目标是交流行为,* 而不是消除代码重复 *。
我的建议是,如果将重复的步骤移到
Background
中会使场景更难理解,则保留每个场景中的重复步骤。另一方面,如果将步骤移到公共Background
中会使场景 * 更容易 * 理解,则一定要将公共步骤移出场景。