如何在浏览器中显示由视图规范呈现的页面?

时间:2016-02-01 00:53:50

标签: ruby-on-rails rspec capybara

在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

0 个答案:

没有答案