私は本当にアソシエーションをすることを理解していません。spec_helperで私は持っています
def log_in_user
user = User.find_by_name 'User1'
user = FactoryGirl.create :user1 unless user
sign_in user
end
rspecで
let(:product) { FactoryGirl.build :product_A }
describe "GET confirm purchase" do
it "xxx" do
log_in_user
Product.should_receive(:find_active_by_id).with("1").and_return(product)
...
end
end
factorys.rb
FactoryGirl.define do
factory :user do
encrypted_password 'abcdef1'
confirmed_at Time.now
factory :user1 do
email 'user1@test.com'
name 'User1'
year 1984
end
end
factory :product do
factory :product_A do
name "product A"
association :user, factory: :user1
end
end
end
テストケースを実行すると、例外が発生します:ActiveRecord :: RecordInvalid:検証に失敗しました:電子メールはすでに受信されています
user1が2回作成しているようです。1つはlog_in_userに、もう1つはfactoryに作成されています:association:user、factory :: user1
私は正しいですよ?はいの場合、どうすればこれを解決できますか?ユーザーを作成し、工場製品でアソシエーションを定義したい
一番