rspec自定义匹配器无法正常工作 - 获取NoMethodError

时间:2013-01-27 01:02:21

标签: rspec nomethoderror matcher

我正在尝试在Michael Hartl的RailsTutorial.org的第8章中进行练习2。我已将以下内容添加到spec / support / utilities.rb文件中:

RSpec::Matchers.define :have_title do |message|
  match do |page|
    page.should have_selector('title', text: message)
  end
end

在我的authentication_pages_spec.rb文件中,我更改了

it { should have_selector('title', text: 'Sign in') }

it { should have_title('Sign in') }

我希望这可以正常工作但是在运行测试时我会收到以下错误消息:

使用无效信息进行身份验证登录      失败/错误:它{should have_title('登录')}      NoMethodError:        '

中未定义的方法has_title?' for #<Capybara::Session> # ./spec/requests/authentication_pages_spec.rb:22:in阻止(4级)

我不明白为什么当我相信我已经正确地编写了方法时,它抱怨没有方法。

1 个答案:

答案 0 :(得分:0)

解决。我重新启动了本地服务器和spork事物(我仍然不完全理解),它开始工作。遗憾。