Erster Beitrag Es ist ein Memorandum.
Bei der Ausführung des Tests mit RSpec wurde der in FactoryBot zu beschreibende externe Schlüssel nicht eingegeben.
FactoryBot.define do
factory :order_form do
zipcode {'123-4567'}
prefecture_id {1}
city {'Ah Ward, Ah Call City'}
address {'Unteraufruf 1-1-1'}
phone_number {'09012345678'}
end
end
OrderForm
Produktkauf
Wenn der Produktkauf gut läuft
Kann gekauft werden, wenn alle Artikel vorhanden sind(FAILED - 1)
Failures:
1)OrderForm Produktkauf Wenn der Produktkauf erfolgreich ist Sie können kaufen, wenn alle Artikel vorhanden sind
Failure/Error: expect(@order_form).to be_valid
expected #<OrderForm:0x00007fe44961c1e8 @zipcode="123-4567", @prefecture_id=1, @city="Ah Ward, Ah Call City", @address="Unteraufruf 1-1-1", @phone_number="09012345678", @validation_context=nil, @errors=#<ActiveModel::Errors:0x00007fe448aeeaa0 @base=#<OrderForm:0x00007fe44961c1e8 ...>, @messages={:user_id=>["can't be blank"], :item_id=>["can't be blank"]}, @details={:user_id=>[{:error=>:blank}], :item_id=>[{:error=>:blank}]}>> to be valid, but got errors: User can't be blank, Item can't be blank
# ./spec/models/order_form_spec.rb:10:in `block (4 levels) in <top (required)>'
Finished in 0.17606 seconds (files took 1.9 seconds to load)
1 example, 1 failure
Failed examples:
rspec ./spec/models/order_form_spec.rb:9 #OrderForm Produktkauf Wenn der Produktkauf erfolgreich ist Sie können kaufen, wenn alle Artikel vorhanden sind
Hier sind einige bemerkenswerte Punkte.
@errors=#<ActiveModel::Errors:0x00007fe448aeeaa0 @base=#<OrderForm:0x00007fe44961c1e8 ...>, @messages={:user_id=>["can't be blank"], :item_id=>["can't be blank"]}, @details={:user_id=>[{:error=>:blank}], :item_id=>[{:error=>:blank}]}>> to be valid, but got errors: User can't be blank, Item can't be blank
Er sagte mir, dass die user_id und item_id, die als externe Schlüssel verwendet wurden, leer sind.
Aufgrund des Fehlerinhalts fand ich, dass die Beschreibung in FactoryBot korrigiert werden sollte. Alles, was Sie tun müssen, ist, user_id und item_id wie angewiesen zu FactoryBot hinzuzufügen.
user_id { FactoryBot.create(:user).id }
item_id { FactoryBot.create(:item).id }
OrderForm
Produktkauf
Wenn der Produktkauf gut läuft
Kann gekauft werden, wenn alle Artikel vorhanden sind
Finished in 0.3807 seconds (files took 3.22 seconds to load)
1 example, 0 failures
Es ist ein Erfolg.
Recommended Posts