###解決したいこと
モデルのテストを実行しているが以下のエラーによりパスできない。
###修正で試したこと
作成したファイルの保存先か、ファイル名のミスと思い確認しましたが、合っているようでした。
読み込みの記載が間違っているのでしょうか?
初歩的な質問ですが、よろしくお願いします。
###コード
spec/models/message_spec.rb
require 'rails_helper' RSpec.describe Message, type: :model do describe '#create' do context 'can save' do it 'is valid with content' do expect(build(:message, image: nil)).to be_valid end it 'is valid with image' do expect(build(:message, content: nil)).to be_valid end it 'is valid with content and image' do expect(build(:message)).to be_valid end end context 'can not save' do it 'is invalid without content and image' do message = build(:message, content: nil, image: nil) message.valid? expect(message.errors[:content]).to include("を入力してください") end it 'is invalid without group_id' do message = build(:message, group_id: nil) message.valid? expect(message.errors[:group]).to include("を入力してください") end it 'is invaid without user_id' do message = build(:message, user_id: nil) message.valid? expect(message.errors[:user]).to include("を入力してください") end end end end
spec/factories/message.rb
FactoryBot.define do factory :message do content {Faker::Lorem.sentence} image {File.open("#{Rails.root}/public/images/test_image.jpg")} user group end end
rails helper.rb
RSpec.configure do |config| config.include FactoryBot::Syntax::Methods
Gemfile
group :development, :test do # Call 'byebug' anywhere in the code to stop execution and get a debugger console gem 'byebug', platform: :mri gem 'pry-rails' gem 'rspec-rails', '~> 3.5' gem 'rails-controller-testing' gem 'factory_bot_rails' gem 'faker' end

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。