我有以下rspec测试:
scenario 'layout file loads assets' do
layout_file = IO.read("#{dummy_app_path}/app/views/layouts/application.html.erb")
expect(layout_file).to match(/stylesheet_link_tag 'application'/)
end
测试为红色是因为:
expected "<!DOCTYPE html>\n<html>\n<head>\n <title>DummyApp</title>\n <%= stylesheet_link_tag 'applicatio...s-track' => true %>\n
为什么要返回应用... s-track ?为什么没有“申请”? 你能解释一下吗?
感谢您的帮助。
答案 0 :(得分:1)
尝试如下更改您的期望:
expect(layout_file).to match(/stylesheet_link_tag\s+application'/)
如果您查看错误消息以及实际的HTML源代码,则会看到以下内容:
<%= stylesheet_link_tag 'application'
请注意stylesheet_link_tag
之后的多余空格。这就是从template一直生成它的方式(据我所知)