Я все еще немного растерялся. Вам не нужно заботиться о возвращаемом значении контроллера action . Действия должны отображать контент, а не возвращать значимые значения. Но я все равно постараюсь ответить.
Если вы хотите убедиться, что FooController#some_action
вызывает закрытый метод #some_methods
с определенным параметром, вы можете использовать #should_receive
:
describe FooController do
describe 'GET index' do
it 'should get the return value from some_methods' do
controller.should_receive(:some_methods).with(true).and_return(1)
get :index
end
end
end
Этот пример завершится ошибкой, если контроллер никогда не получит сообщение :some_methods
, но на самом деле он не проверяет возвращаемое значение метода #some_action
(потому что это почти никогда не имеет смысла).
Если вам нужно проверить поведение #some_methods
, вам следует написать отдельные тесты для этого, используя методы, описанные в статьях, на которые вы ссылались.