我在功能规范中使用了rspec 3.4.3和capybara 2.7。
当我运行此测试时:
visit course_path( @course )
expect(page).to have_content('short_title')
它变红了:
Failure/Error: expect(page).to have_content('short_title')
Capybara::ElementNotFound:
Unable to find xpath "/html"
当我将测试更改为
时 visit course_path( @course )
within('body') do
expect(page).to have_content('short_title')
end
测试变为绿色,但正如托马斯在下面所说,这只是因为within
没有做任何工作。
当我使用
时 visit course_path( @course )
page.within('body') do
expect(page).to have_content('short_title')
end
再次变为红色
Capybara::ElementNotFound:
Unable to find css "body"
如果我在访问后输出page.html,我可以看到 该页面在那里,有有效的HTML,当然 包含正文和文本。一切都是可见的,没有 fancyfull javascript或css。
这里发生了什么?