С Rails 4 (а может и раньше) [1], ImplicitRender обрабатывает это и проверяет "выполнено?".
Итак, если вы хотите заглушить это, заглушить "выполнено?" должно хватить:
subject.stubs(:performed?).returns(true)
subject.expects(:send_file).
with(image, disposition: "inline")
Реализация performed
тоже не сложная:
performed?
response_body || (response && response.committed?)
end
Так, в случаях, когда вы не хотите или не можете заглушить performed
, просто убедитесь, что response_body
не ноль.
[1] С 5+ это было перемещено в BasicImplicitRender.