Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 4 水豚:未定义的方法'assert#u text';对于#<;水豚:会话>;,未定义的局部变量';答复';_Ruby On Rails 4_Rspec_Capybara - Fatal编程技术网

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
?你的页面中有多个
标记吗?只有结束和结束。。。