第5章 - Ruby on Rails教程 - 未定义的方法`has_title?' 在运行RSpec测试时

Baz*_*mez 1 rspec ruby-on-rails-3

试着通过Michael Hartl的Ruby on Rails教程中的第5章的最后一部分,并获得运行RSpec测试的另一个错误.

输出是:

静态页面应该在布局上有正确的链接失败/错误:期望(页面).to have_title('关于我们')NoMethodError:未定义的方法has_title?' for #<Capybara::Session> # ./spec/requests/static_pages_spec.rb:59:in块(2级)

static_pages_spec.rb中以下代码中的行期望(页面)的结果:

it "should have the right links on the layout" do
    visit root_path
    click_link "About"
   expect(page).to have_title(full_title('About Us'))
end   
Run Code Online (Sandbox Code Playgroud)

注意:无论是否使用Spork,都会发生这种情况

有人能指出我正确的方向吗?

谢谢,巴扎

qui*_*ack 7

have_titleCapybara 2.1支持该功能.我想你的Gemfile中有一个旧版本的Capybara.所以,用你的Gemfile更新

gem 'capybara', '2.1.0'
Run Code Online (Sandbox Code Playgroud)

然后像这样更新Capybara

bundle update capybara
Run Code Online (Sandbox Code Playgroud)

并使用rspec重新运行规范.它现在应该工作

有关其他选项,请参阅此帖子