Rspec 2: Как сделать render_views по умолчанию для всех спецификаций контроллера - PullRequest
6 голосов
/ 09 декабря 2010

Я всегда пишу render_views во всех моих спецификациях контроллера:

require 'spec_helper'

describe AwesomeController do
  render_views
end

Есть ли способ всегда отображать представления для всех спецификаций контроллера?

Ответы [ 3 ]

13 голосов
/ 10 марта 2011

Документированный способ сделать это, на сегодняшний день следующий

spec / support / render_views.rb

RSpec.configure do |config|
  config.render_views
end
4 голосов
/ 09 декабря 2010

Добавьте это к spec/spec_helper.rb:

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

Создает анонимный модуль, который запускает render_views в классе, в который он включен, и включается в любой блок описаний, описывающий контроллер.

2 голосов
/ 04 июля 2014

Добавьте его в 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...