对于BDD,对于每种情况,Given when和Then语句是强制性的吗?

时间:2015-12-16 07:46:43

标签: bdd specflow gherkin

对于BDD,如果我跳过给定语句或将When转换为And语句,是否可以?

1 个答案:

答案 0 :(得分:1)

如果您的方案不需要设置,那么我认为跳过Given步骤是可以的。我不确定跳过任何其他步骤是否合理,因为When是操作步骤,如果您没有执行任何操作,那么您正在测试什么?

如果它们使你的场景更具可读性,那么也可以编写没有实现的步骤,这样你就可以得到类似的东西:

Given a standard installation of the application
When I open the app
Then the app splash screen should be displayed

此处Given步骤可能为空(如果某些设置已经执行了标准安装,而其他步骤执行了其他设置),但其包含使得场景更有意义。 (这不是我意识到的一个很好的例子,但它有希望传达这一点)

至于将When更改为And,是的,您可以执行此操作,因为这是AndBut关键字的重点,更具可读性。它们实际上具有以下含义:重复此步骤的当前关键字,以及#39;因此,AndWhen与另一个When

相同