用小黄瓜语言描述阳性测试

时间:2015-01-20 12:38:52

标签: bdd acceptance-testing gherkin specifications scenarios

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

 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之类的配方,但是更容易测试吗?

1 个答案:

答案 0 :(得分: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.

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

以下是给定

的示例
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

...

略微扩展的示例see here