我有一个返回“不匹配”的页面。或模型对象名称之一。
用 Cucumber 测试它的最佳方法是什么?我应该Given
逐步存根 rand 还是应该提供类似的东西page has either a or b
?或者也许我应该rand
在场景大纲参数中提供参数,在Given
步骤中使用此参数并使用第二个大纲列来检查结果?
更新: cookies
Cookie Monster 最佳传统中的控制器示例:
cookie_controller.rb
def random_cookie
if rand(5) == 0 do
cookie = Cookie.offset(rand(Cookie.count)).first
response = "You got 10 free #{cookie.type} cookies for your purchase!"
else
response = "Sorry, no cookies left :'("
end
respond_to do |format|
format.json { render json: { response: response } }
end
find_cookie.feature
Scenario: Looking for cookie
When I click "find"
Then I should see "You got 10 free" or "Sorry, no cookies left :'("
Then I should see "You got 10 free" or "Sorry, no cookies left :'("
步骤看起来如何?我试过类似的东西
(page.should have_content "You got 10 free") || (page.should have_content "Sorry, no cookies left :'("
但它没有用。