Подтвердить что ты не робот

Как проверить, отобразил ли мой контроллер правильный макет на Rails 3?

Код контроллера:

class BooksController < ApplicationController
  def index
    @books = Book.all
    respond_to do |format|
      format.html do
        render 'index', :layout => 'topgun'
      end
    end
  end
end

Как проверить это в спецификации?

require 'spec_helper'

describe BooksController do
  describe "GET index" do
    it "renders the topgun layout" do
      get :index
      # ???
    end
  end
end

Я проверил этот связанный пост, но мой объект response не имеет атрибута/метода layout.

4b9b3361

Ответ 1

Вы можете найти "Контроллеры тестирования с RSpec" RailsCast и официальный rspec-rails полезны.

Глядя на код assert_template (это как раз то, что render_template), похоже, что вы должны иметь возможность делать

response.should render_template("index")
response.should render_template(:layout => "topgun")

хотя я не совсем уверен, что это сработает.