Ответ 1
Из Googling вокруг, кажется, что render
также будет вызываться в какой-то момент.. но без шаблона вызовет ошибку.
Решение, похоже, также должно заглушить:
controller.stub!(:render)
Как проверить действие контроллера, которое отправляет файл?
Если я делаю это с тегом controller.should_receive(:send_file)
с ошибкой "Отсутствует шаблон", потому что ничего не получается.
Из Googling вокруг, кажется, что render
также будет вызываться в какой-то момент.. но без шаблона вызовет ошибку.
Решение, похоже, также должно заглушить:
controller.stub!(:render)
Другой способ работы:
controller.should_receive(:send_file).and_return{controller.render :nothing => true}
Для меня это фиксирует тот факт, что предполагаемый побочный эффект send_file
заключается в том, чтобы ничего не было сделано. (Хотя, по общему признанию, кажется немного неудобным, чтобы заставить заглушку вызвать метод на исходном объекте.)
Вы также можете сделать это:
result = get ....
result.body.should eq IO.binread(path_to_file)