Проверьте метод рендеринга в контроллере с RSpec - PullRequest
2 голосов
/ 20 октября 2010

Я пытаюсь проверить метод рендеринга в контроллере с помощью RSpec (2.x).Вот код в моем контроллере:

respond_to do |format|
  format.html # index.html.erb
  format.json { render :json => @entities, :include => :properties, :overview => options[:overview] }
end

А вот тест, который я пробую в моем spec-файле:

controller.should_receive(:render).with( hash_including(:overview => true) )

Проблема в том, что RSpec сообщает мне, что для рендера не предоставлено никаких аргументов("получил: (без аргументов)").Даже не: JSON один.Как правильно заглушить метод рендеринга?

1 Ответ

4 голосов
/ 19 января 2011

Если вы хотите проверить render :json, просто убедитесь, что ответ содержит строку JSON.

Упрощенный пример: response.body.should == @object.to_json

Если вы просто хотите заглушить метод визуализациииспользуйте controller.stub!(:render)

...