1

我们试图按照规范以小黄瓜语言的示例方法来表达我们的要求。功能的一部分是检查在某些情况下会失败,否则应该是肯定的。所以我们有很多这样的场景:

 Given a <condition>         //condition changes between scenario
 When the check is performed
 Then the result is negative

因此,在描述了检查可能失败的所有条件之后,我们需要一个积极的场景,例如:

Given ...                // this is what we're missing. 
When the check is performed
Then the result is positive

我们无法想出一个好的方法来制定这个。请注意,这是可以由不同产品扩展的通用功能的一部分,因此我们不能只写:“上述条件均不适用”

你们中的任何人都可以想出一个类似于 的公式Given there are no conflicting conditions,但更可测试吗?

4

1 回答 1

1

也许你可以做

When the check is performed
Then it works

不过,如果场景谈论的是什么,那就更好了。假设我们正在登录。我将从

When I sign in
Then I should be signed in

然后将其扩展到悲伤的路径

Given my email is invalid
When I sign in
Then I should not be signed in

以上所有内容可能都需要一些背景知识,例如

Given I am registered.

你不必为每个场景都有一个给定的

这是 Given 的示例实现

module RegistrationStepHelper do
  def create_registered_user
    # return a user who is registered and can sign in
    ...
  def sign_in_as(user)
end
World RegistrationStepHelper

"Given I am registered" do 
   @i=create_registered_user
end

When "I sign in" do
  sign_in_as: @i
end

...

有关稍微扩展的示例,请参见此处

于 2015-01-22T23:50:23.387 回答