Premier poste C'est un mémorandum.
Lors de l'exécution du test avec RSpec, la clé externe à décrire dans FactoryBot n'a pas été saisie.
FactoryBot.define do
factory :order_form do
zipcode {'123-4567'}
prefecture_id {1}
city {'Ah Ward, Ah Call City'}
address {'Sous-appel 1-1-1'}
phone_number {'09012345678'}
end
end
OrderForm
Achat de produits
Quand l'achat du produit se passe bien
Peut être acheté si tous les articles existent(FAILED - 1)
Failures:
1)OrderForm Achat de produit Lorsque l'achat du produit est réussi Vous pouvez acheter si tous les articles existent
Failure/Error: expect(@order_form).to be_valid
expected #<OrderForm:0x00007fe44961c1e8 @zipcode="123-4567", @prefecture_id=1, @city="Ah Ward, Ah Call City", @address="Sous-appel 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 Achat de produit Lorsque l'achat du produit est réussi Vous pouvez acheter si tous les articles existent
Voici quelques points notables.
@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
Il m'a dit que les user_id et item_id qui ont été utilisés comme clés externes sont vides.
D'après le contenu de l'erreur, j'ai trouvé que la description dans FactoryBot devait être corrigée. Tout ce que vous avez à faire est d'ajouter user_id et item_id à FactoryBot comme indiqué.
user_id { FactoryBot.create(:user).id }
item_id { FactoryBot.create(:item).id }
OrderForm
Achat de produits
Quand l'achat du produit se passe bien
Peut être acheté si tous les articles existent
Finished in 0.3807 seconds (files took 3.22 seconds to load)
1 example, 0 failures
C'est un succès.
Recommended Posts