我想为布局模板的属性编写测试(或更准确地说,因为我使用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
。