Rspecで画像を添付する方法

はじめに

Rspecで画像を添付する方法と、その画像が添付されたかどうかを確認する方法について。

画像を添付する

Rspecで画像を添付するには、attach_fileというメソッドを使います。

このメソッドは、第一引数にinputタグのname属性を指定し、第二引数に画像のパスを指定することで画像を添付できます。

attach_file 'user[image]', "#{Rails.root}/spec/fixtures/images/test_image.png"

添付されたかを確認する

画像が添付されたかどうかをテストするには、have_selectorを使います。

expect(page).to have_selector  "img[src$='test_image.png']"

表示されているページ内に、先程画像が添付されたことによって生成されたセレクタがあるかどうかを確認しています。