我们试图按照小黄瓜语言中的示例方法来表达我们的要求。功能的一部分是检查在某些条件下是否失败,否则应该是积极的。所以我们有很多这样的场景:
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
之类的配方,但是更容易测试吗?
答案 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