在Rails 4.2应用程序中,我有一个意外行为的视图规范。规范失败了,而从开发环境中检查浏览器中的视图会建议规范应该通过。
在功能规范中,我可以调用capybara的save_and_open_page
来检查浏览器中的规范呈现的视图,以帮助调试。
如何在视图规范中执行相同的操作? save_and_open_page
在视图规范中不起作用。
undefined local variable or method `save_and_open_page'
我尝试通过在规范
中包含以下内容来直接保存和打开文件...
render
File.open('/tmp/test.html','w'){|file| file.write(contents)};
...
使用以下选项
contents = response.body
contents = response
contents = rendered
所有这些都会生成空/空白页面。这是正确的轨道吗?如果是这样,我应该写什么file
?
规范如下:
require 'rails_helper'
describe "countries/show.html.erb", focus: true do
it 'displays country correctly' do
@country = assign(:country, stub_model(Country,
name: "Country A",
alpha: "AA",
latitude: 1.248392,
longitude: -20.47389
))
render
# NOT WORKING - displays empty page
# File.open('/tmp/test.html','w'){|file| file.write(rendered)}; `open '/tmp/test.html'`
expect(rendered).to have_selector("h1", text: 'Country A')
end
end