[RUBY] Ich erhalte folgende Fehler: Der Benutzer muss im Unit-Model-Test vorhanden sein

Was tun, wenn Fehler auftreten? Der Benutzer muss im Unit-Model-Test vorhanden sein

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 'Neue Registrierung von Medikamenten' do
    context 'Wenn die Registrierung neuer Medikamente erfolgreich ist' do
      it "medicine,symptom,date,Kann registriert werden, wenn ein Bild vorhanden ist" do
        expect(@medicine).to be_valid
      end
    end

Dieser Testcode gibt den folgenden Fehler aus.

5.png

Ich habe eine Hypothese aufgestellt. Da ich "Fehler bekommen: Benutzer muss existieren" erhalten habe, habe ich angenommen, dass Benutzerinformationen zusammenhängen.

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

Die Modellzuordnung wird zusammengestellt. Das nächste, worüber ich nachdachte, war die Hypothese, dass zum Zeitpunkt des Tests keine Assoziation zur Eingabe des Wertes gebildet wurde.

medicines.rb


   FactoryBot.define do
     factory :medicine do
        medicine { 'Loxonin' }
        symptom { 'Kalt' }
        date { Time.now.utc }
       user
     end
   end
   

Assoziation: Benutzer hinzugefügt. Ich werde es testen.

6.png

Ich habe den Test sicher bestanden!

Ich werde den Test ohne Fehler bestehen, aber wenn ein Fehler auftritt, kann ich die Verbindung der Anwendung überprüfen, damit ich weiter lernen kann! 6.png

Recommended Posts

Ich erhalte folgende Fehler: Der Benutzer muss im Unit-Model-Test vorhanden sein
[Rails] Unit-Testcode für das Benutzermodell
Ich möchte den Wert in Ruby erhalten
Ich erhalte Mysql2 :: Error :: ConnectionError in der Produktionsumgebung
Rufen Sie den Namen des Testfalls in der JUnit-Testklasse ab
Worauf ich beim ActiveModel :: Serializer-Test gestoßen bin
Ich blieb in File stecken
Das Problem, dass das Attribut des Benutzermodells in ActionMailer gleich Null wird
Hinweise zum Generieren von Dummy-Daten für Kennwörter im Unit-Testcode des Rails-Modells
[Android] Ich möchte den Listener über die Schaltfläche in ListView abrufen