如何测试Rails布局模板?

时间:2018-07-30 20:38:37

标签: ruby-on-rails rspec rspec-rails

我想为布局模板的属性编写测试(或更准确地说,因为我使用RSpec,spec)。我的第一个想法是直接为布局模板编写测试。但是,这有一些问题:

  • 局部搜索路径更改。特别是它包含app/views/layouts/,而呈现具体页面不包含此目录。
  • 我无法在布局模板内使用url_for。它失败,并显示错误“没有路由匹配{:action =>“ simple_page”,:controller =>“ layouts”}“。当然,这是行不通的,因为我没有渲染具体的页面(因此它没有URL)。解决此问题的方法需要一种注入一些虚拟URL的方法。

规格如下:

RSpec.describe "layouts/simple_page.html.haml" do
    it "contains a link to itself" do
        render
        expect(rendered).to match "^/"
    end
end

为使示例更简单,app/views/layouts/simple_page.html.haml仅包含= url_for

0 个答案:

没有答案