FactoryGirlファクトリを使用してhas_many
の関係でインスタンスを作成しようとしていますが、失敗しています。 私はコンピュータとネットワークカードという2つのクラスを持っています。各コンピュータには多くのNetworkCardがあります。has_many relationship with FactoryGirl
factory :computer do
sequence(:name) { |n| "PC_#{n}" }
transient do
network_cards_count 1
end
after(:create) do |computer|
create_list(:network_card, evaluator.network_cards_count, computer: computer)
done
end
012:以下工場定義
class Computer < ActiveRecord::Base
has_many :network_cards
end
2つのActiveRecordを定義
今
2.
factory :network_card do
sequence(:name) { |n| "NC_#{n}" }
sequence(:type) { |n| "TYPE_#{n}" }
end
RSpecのテストでコンピュータを作成するとき、私は私が説明できない奇妙な動作を得ます。
@computer_1 = FactoryGirl.create(:computer)
@computer_1.network_cards.size #Expect 1. Got 0. Why?
@computer_1.reload
@computer_1.network_cards.size # Got 1
アイデアは何ですか?
は 'evaluator'利用可能ですか?私はいつもそれを指定しました。 – Dan
@Danそれはタイプミスです。一定 – ntrax111