ruby '2.6.5' rails '6.0.0'
medicine_spec.rb
before do
@medicine = FactoryBot.build(:medicine)
@medicine.image = fixture_file_upload('public/images/money.jpg')
end
describe 'Nouvel enregistrement du médicament' do
context 'Lorsque l'enregistrement d'un nouveau médicament est réussi' do
it "medicine,symptom,date,Peut être enregistré si l'image existe" do
expect(@medicine).to be_valid
end
end
Ce code de test donne l'erreur suivante.
J'ai fait une hypothèse. Depuis que j'ai eu des erreurs: l'utilisateur doit exister, j'ai émis l'hypothèse que les informations utilisateur sont liées.
medicine.rb
class Medicine < ApplicationRecord
has_one_attached :image
belongs_to :user
with_options presence: true do
validates :medicine
validates :symptom
validates :date
end
end
user.rb
has_many :medicines
L'association modèle est assemblée. La chose suivante à laquelle j'ai pensé était l'hypothèse que l'association ne s'était pas formée au moment du test pour saisir la valeur.
medicines.rb
FactoryBot.define do
factory :medicine do
medicine { 'Loxonine' }
symptom { 'Du froid' }
date { Time.now.utc }
user
end
end
Ajout de ʻassociation: user`. Je vais le tester.
J'ai réussi le test en toute sécurité!
Je passerai le test sans faute, mais si une erreur survient, je peux vérifier la connexion de l'application, je vais donc continuer à apprendre!
Recommended Posts