2013-12-17 36 views
12

CSVダウンロードに正しい列が含まれていることを確認します。 RSpecでCSVダウンロードをテストすると、ファイルの内容にアクセスできません。 CSVファイルの内容にアクセスするにはどうすればよいですか?RspecテストCSVファイルのダウンロード

require 'spec_helper' 
include Devise::TestHelpers 

describe Admin::ApplicationsController do 

    before(:each) do 
    @application = FactoryGirl.create :application 
    @user = FactoryGirl.create(:admin_user) 
    sign_in @user 
    end 

    it "downloads a csv" 
    it "gives us only the columns we want" do 
    get :index, format: :csv 
    p response.body 
    p response.headers 
    end 
end 

テストの出力:

# This is the output in the terminal 
# "" 
# {"Content-Type"=>"text/csv; charset=utf-8", "Content-Disposition"=>"attachment; filename=\"applications-2013-12-17.csv\""} 

答えて

7

あなたのようにブロック呼び出しrender_viewsを記述時:

describe Admin::ApplicationsController do 
    render_views 
    ... # all the other code 
end 

render_viewsを呼び出すには、コントローラの仕様内のビューの内容をレンダリングするためにRSpecのを指示します。これはデフォルトではオフになっています。コントローラの仕様を実行しているときは、通常、ビューの内容は気にしないため、テストが速く実行されるからです。

最新のRailsバージョンhereの公式ドキュメントを見ることができます。

関連する問題