Ruby on rails 4 水豚:未定义的方法'assert#u text';对于#<;水豚:会话>;,未定义的局部变量';答复';
集成测试:Ruby on rails 4 水豚:未定义的方法'assert#u text';对于#<;水豚:会话>;,未定义的局部变量';答复';,ruby-on-rails-4,rspec,capybara,Ruby On Rails 4,Rspec,Capybara,集成测试: require 'spec_helper' describe "Create categories and items" do before do ItemCategory.create(id: 1, name: "Camping, backpacking, hiking gear") ItemName.create(itemcategory_id: 1, name: "2-person tent") ItemName.cr
require 'spec_helper'
describe "Create categories and items" do
before do
ItemCategory.create(id: 1, name: "Camping, backpacking, hiking gear")
ItemName.create(itemcategory_id: 1, name: "2-person tent")
ItemName.create(itemcategory_id: 1, name: "Sleeping bag")
ItemCategory.create(id: 2, name: "Household tools")
ItemName.create(itemcategory_id: 2, name: "Electric drill")
end
it "should have the categories and items" do
ItemCategory.count == 2
ItemName.count == 3
end
describe "Request page flows" do
before do
visit '/'
select "Camping, backpacking, hiking gear", from: "ItemCategory"
click_button "Go!"
save_and_open_page
end
it "should go to the right request form" do
expect(response).to have_content("Camping, backpacking, hiking gear")
page.assert_text("Camping, backpacking, hiking gear")
ItemName.where(itemcategory_id: ic.id).all.each do |i|
page.has_text?(i.name)
end
ItemName.where.not(itemcategory_id: ic.id).all.each do |i|
page.has_text?(i.name)
end
end
end
end
在第二个it块(it“应该转到正确的请求表单”
)上,似乎没有发生水豚响应。。。或者不管我应该使用什么语义,下面是错误:
expect(response).to have_content("Camping, backpacking, hiking gear")
==> undefined local variable or method `response' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_1:0x007fef26c24260>
page.assert_text("Camping, backpacking, hiking gear")
==> undefined method `assert_text' for #<Capybara::Session>
expect(response)。拥有内容(“露营、背包、徒步旅行装备”)
==>未定义的局部变量或方法“响应”#
页面.断言文本(“露营、背包、徒步旅行装备”)
==>未定义的方法“断言文本”#
第二个问题似乎让人痛苦地意识到,水豚仍然认为我在用户会话中,我只是在填写输入/点击按钮。但是为什么?我已经单击了
单击按钮
,添加保存和打开页面
确实显示了正确的输出。期望(页面)。要有内容(“露营…”)
就是你要找的。这给了我:不明确的匹配,找到了两个匹配xpath”/html的元素。
,我不明白,因为我不是在找一个xpath
?你的页面中有多个
标记吗?只有结束和结束。。。