Как проверить, отобразил ли мой контроллер правильный макет на 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
.
Ответы
Ответ 1
Вы можете найти "Контроллеры тестирования с RSpec" RailsCast и официальный rspec-rails полезны.
Глядя на код assert_template
(это как раз то, что render_template
), похоже, что вы должны иметь возможность делать
response.should render_template("index")
response.should render_template(:layout => "topgun")
хотя я не совсем уверен, что это сработает.