How to test a controller action that sends a file? If I do it with controller.should_receive(:send_file) test fails with "Missing template" because nothing gets rendered.
コントロラーのRSpecを書いていて send_file の response が上手くテスト出来なかったので調べてみました。ただし調べたのは Rails 2.3.8 , Rspec Rails 1.3.3 です。 @irohirokiさんから ActionController::TestProcess#binary_content を使えば良いですとTweetがあったので変更しました。 下のようなコントロラーのメソッドが在ったとき def download ・・・ send_file "ファイルのパス", :type => 'application/octet-stream' ・・・ end RSpecを素直に書くと it "POST /download はファイルの内容を戻す" do post "download" response.body.should == IO.read("ファ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く