这些是我的测试:
it "should have the title 'Contact'" do
visit '/static_pages/contact'
expect(page).to have_title("Rails Development | Contact")
end
it "should have 'h1'" do
visit '/static_pages/contact'
expect(page).to has_selector?('h1')
end
为什么第一个测试正常,但第二个测试给我NoMethodError?
1)
Static Pages Contact page should have 'h1'
Failure/Error:expect(page).to has_selector?('h1')
NoMethodError:
undefined method `matches?' for true:TrueClass
答案 0 :(得分:1)
RSpec方法to
需要一个RSpec Matcher
,但是你已经传递了has_selector
的结果,如果成功,则为true
,从而导致你得到的错误。
Capybara方法has_selector?
旨在由RSpec匹配器have_selector
隐式使用,如:
expect(page).to have_selector('h1')