###現状
現在railsでアプリ製作中です。
pictureカラムを持つsouvenirモデルが存在しています。
showアクションでsouvenirモデルの一覧ページを表示するのですが、
モデルのpictureカラムに値が存在しないときに
app/assets/images
ディレクトリに保存しているno_picture.pngという画像を表示させる
テストを書いたのですが、エラーの原因が分かりません。
###エラーコード
Terminal
1GET /souvenir 2 souvenirに写真が無いとき 3 no_picture.pngを出力する (FAILED - 1) 4 5Failures: 6 7 1) GET /souvenir souvenirに写真が無いとき no_picture.pngを出力する 8 Failure/Error: expect(response.body).to include(File.open(File.join(Rails.root, '/app/assets/images/no_picture.png'))) 9 10 TypeError: 11 no implicit conversion of File into String
TestCode
1RSpec.describe 'GET /souvenir', type: :request do 2 context 'souvenirに写真が無いとき' do 3 4 it 'no_picture.pngを出力する' do 5 @souvenir = FactoryBot.create(:no_picture_souvenir) 6 get "/souvenirs" + "/" + @souvenir[:id].to_s 7 expect(response.body).to include(File.open(File.join(Rails.root, '/app/assets/images/no_picture.png'))) 8 end 9 end 10end
no implicit conversion of File into String
このエラーが文字列の結合の時に起きている方がいらっしゃったので
include()内のパス指定で起きているように思うのですが、正しいパスの指定方法が分からず
質問させていただきました。
ご回答いただけると幸いです。
あなたの回答
tips
プレビュー