LoginSignup
8
7

More than 5 years have passed since last update.

Capybaraでファイルアップロードのテストを書く

Posted at

改修するシステムのファイルアップロード部分にテストが無かったので書いてみた。

以下のような、フォーム。
エクセルをアップロードすると一覧が更新されるというようなもの。

<%= form_tag(:action: :create, multipart: true) do %>
  ファイル名: <%= file_field(:upload, 'file') %>
  <%= submit_tag('アップロード') %><br>
<% end %>

以下のようにfeature specを書いてみた。

scenario 'アップロードで更新できる' do
  file_path = Rails.root.join('spec', 'fixtures', 'hoge.xls')
  attach_file('upload_file', file_path)
  click_on 'アップロード'

  expect(page).to have_content 'ほげほげ'
end

はー、手動テストとかメチャメチャ辛い部分なので自動でやってくれると助かるわー。
controllerでテストするならfixture_file_uploadとかを使うとよいかも。

参考

8
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
7