我在黄瓜书中读到,黄瓜特征场景的格式应该是小黄瓜场景的格式,即: 鉴于-当-然后
为简化起见,请忽略可能出现在场景中的And元素。
我经常在我当前的项目中看到几个这样定义的场景: 情景X. 鉴于-THEN-当-然后
这种格式是否正确?黄瓜接受它,但这是一个好习惯吗?
答案 0 :(得分:2)
我主要同意@orde,但我觉得有必要将这些条款用于特定目的。对我来说,给予测试始终是一个步骤。这是一个人开始的情况。我建议使用不运行测试软件的步骤定义。
Given I am a registered user
And I am logged in
And I have a product in my shopping cart
何时触发测试。它可能不止一步,但这令人困惑。
When I delete the item from my cart
然后用于验证预期结果。我用它来检查什么是什么时候的结果。
Then there are not items in my shopping cart
我将不同的术语视为帮助读者了解哪个步骤用于哪个目的而无需阅读步骤定义中的代码的方法。
答案 1 :(得分:1)
Given
,When
和Then
关键字实际上是同一方法的别名,因此它们可以互换使用。 Gherkin
只是提供更多人类可读的钩子来编写场景。
就场景中的Given/Then/When/Then
序列而言,它会起作用,但看起来确实有点不寻常。我意识到您正在尝试简化问题,但这听起来像是使用And
或But
的可能情况。例如:Given/And/When/Then
或Given/But/When/Then
。如果你想避免*
Given/When/Then/And/But
开始一步