Answers:
默认情况下,rspec-rails会侵入Rails,以防止其实际呈现视图模板。您应该只测试动作的行为并过滤控制器测试,而不是模板渲染的结果,这就是视图规格的目的。
但是,如果您希望使控制器规格像应用程序一样呈现模板,请使用以下render_views
指令:
describe YourController do
render_views
...
end
默认情况下,RSpec-rails配置禁用呈现控制器规范的模板
解决此问题的方法之一是确保启用文件中的render_views
设置rails_helper.rb
。这样,您就可以使其在所有测试中都可以全局工作。
RSpec.configure do |config|
config.render_views
end
或使用render_views声明单个组:
describe User do
render_views
end
您可以在此处了解更多信息。