7

我总是写render_views我所有的控制器规格:

require 'spec_helper'

describe AwesomeController do
  render_views
end

有没有办法总是在所有控制器规格上呈现视图?

4

3 回答 3

13

截至今天,记录在案的方法如下

规范/支持/render_views.rb

RSpec.configure do |config|
  config.render_views
end
于 2011-03-10T13:57:40.723 回答
4

将此添加到spec/spec_helper.rb

config.include(Module.new {
  def self.included(base)
    base.render_views
  end
}, :type => :controller)

它创建了一个匿名模块,该模块render_views在包含它的类上运行,并且它包含在描述控制器的任何描述块中。

于 2010-12-09T18:26:04.570 回答
2

将其添加到您的spec_helper.rb配置中。

您可以添加render_views到您的 rspec 配置中,如下所示:

在你的spec_helper.rb

RSpec.configure do |config|

  # Renders views in controllers.
  config.render_views

  # Other config setup.

end

关闭render_views

您可以使用 关闭基于每个描述/上下文的视图渲染render_views false,如下所示:

context "without view rendering even with global render_views on" do
  render_views false

  # specs without view rendering.
end
于 2014-07-04T16:19:49.210 回答