簡體   English   中英

下載 CSV 文件並檢查 RSpec 測試中的列

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM