在 Gherkin 中定义场景时,有时 Given 和 When 步骤之间没有明确的区别,即用户没有与系统进行主动交互,验证的目的是验证系统在特定情况下的外观。
考虑以下:
Scenario: Show current balance
Given user is on account page
Then user should see his balance
对比
Scenario: Show current balance
When user goes to account page
Then user should see his balance
我不确定我是否会一直使用第二种变体。如果我有多个场景共享上下文“用户在帐户页面上”并且其中一些有额外的用户操作而其他人没有,那么在我看来,将“用户在帐户页面中”作为给定步骤保留应该是有效的即使在某些情况下它可能缺少“何时”。这是一种有效的方法吗?