[英]download CSV file and check columns in the RSpec test
我想確保我的 CSV 下載包含正確的列。 當我使用 RSpec 測試 CSV 下載時,我無法訪問文件內容。 如何訪問 CSV 文件的內容?
describe TrackingsController do
it 'returns a successful 200 response for csv format' do
signin_user = create(:admin_user)
sign_in(signin_user)
get :index, format: :csv
expect(response).to be_successful
expect(response.headers['Content-Type']).to eq('text/csv; charset=utf-8')
expect(response.request.fullpath).to eq('/api/v1/trackings.csv')
end
end
上述 RSpec 測試已通過,但是,我如何打開 CSV 文件並檢查列?
我正在嘗試查看response.body
但它給了我一個空字符串
我添加了render_views
它在 controller 規范中呈現視圖。 如果你不放render_views,視圖將不會渲染,這意味着controller被調用但在它返回后視圖不會被渲染。 Controller 測試將運行得更快,因為它們不必渲染視圖,但您可能會錯過視圖中的錯誤。 之后我使用CSV.parse(response.body)
來解析我們的響應,然后我可以檢查 CSV 內容文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.