Как проверить правильность расположения в контроллере, используя RSpec и Rails 3 - PullRequest
2 голосов
/ 19 октября 2010

Я хочу написать тест rspec, который проверяет, используется ли правильная компоновка для контроллера. (На самом деле я хочу проверить, что макет не используется :)).

Я немного погуглил, а также посмотрел здесь Тестирование рендеринга заданного макета с помощью RSpec & Rails

Но все это не работает для Rails3.

Я использовал:

controller.layout

и

controller.class.read_inheritable_attribute(:layout)

но ни один из них не дает мне фактического используемого макета.

Есть ли у вас какие-либо идеи, как узнать, какой макет использовался для контроллера?

1 Ответ

2 голосов
/ 20 октября 2010

Попробуйте response.layout

РЕДАКТИРОВАТЬ

Конечно, response.layout больше не работает в Rspec2.Однако вы можете проверить правильность макета, используя render_template, как описано в этой ветке форума Rails :

response.should render_template("layouts/mylayout")

Что касается второй части вашего вопроса, я не вижуспособ проверки на отсутствие макета.response.should_not render_template("layouts/mylayout") не работает.Смотрите это обсуждение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...