我在演示网站上为表单编写了一个简单的Cuke功能。该功能看起来像这样。
Given I am on the home page
When I set the "Start Date" to "2010-10-25"
And I set the "End Date" to "2011-1-3"
And I press the "Go" button
Then I should see "Cake Shop"
我的想法是,在按下Go按钮后,将加载一个新页面,显示结果列表,其中一个结果应为“Cake Shop”。
但我还没有设法让它发挥作用。有什么东西我不见了吗?
编辑:这是步骤定义。
Given /^I am on the "([^"]*)" page$/ do |page|
visit root_path
end
When /^I set the "([^"]*)" to "([^"]*)"$/ do |field, date|
fill_in field, :with=>date
end
When /^I press the "([^"]*)" button$/ do |arg1|
click_button('Go')
end
最后一步是在web_steps.rb中定义的。我相信....而且它始终在那里失败了。
expected #has_content?("Cake Shop") to return true, got false
(RSpec的::期望:: ExpectationNotMetError) ./features/step_definitions/web_steps.rb:110:in '阻止(2级)'
答案 0 :(得分:1)
如果您正在使用Capybara进行测试,则“然后向我显示该页面”将把当前页面的HTML放入tmp文件夹,看一下。
数据“蛋糕店”来自哪里?在运行测试之前是否重置了数据库?通常,如果您的黄瓜需要一些设置数据,最好明确说明数据存在一个步骤并为每个测试插入它。 e.g。
鉴于项目“蛋糕店”存在