FactoryGirl 具有相同值的不同对象
FactoryGirl different object with same value
我有一个 Transaction
模型,它有 2 个属性 buyer
、seller
,类型都是 User
。
我需要创建一个具有相同买家和卖家的工厂。
我已经试过了:
FactoryGirl.define do
factory :transaction do
[...]
factory :same_user_transaction do
user = create(:user)
buyer = user
seller = user
end
end
end
但这不起作用。
感谢您的帮助
尝试:
FactoryGirl.define do
factory :transaction do
[...]
factory :same_user_transaction do
buyer { create(:user) }
seller { buyer }
end
end
end
如果您有一个用户工厂,其他方法可以是:
factory :same_user_transaction do
association :buyer, factory: :user
seller { buyer }
end
或者更好,使用别名:
factory :user, aliases: [:buyer] do
first_name "John"
last_name "Doe"
date_of_birth { 18.years.ago }
end
factory :same_user_transaction do
buyer
seller { buyer }
end
参考文献:https://github.com/thoughtbot/factory_bot/blob/master/GETTING_STARTED.md#aliases
我有一个 Transaction
模型,它有 2 个属性 buyer
、seller
,类型都是 User
。
我需要创建一个具有相同买家和卖家的工厂。
我已经试过了:
FactoryGirl.define do
factory :transaction do
[...]
factory :same_user_transaction do
user = create(:user)
buyer = user
seller = user
end
end
end
但这不起作用。
感谢您的帮助
尝试:
FactoryGirl.define do
factory :transaction do
[...]
factory :same_user_transaction do
buyer { create(:user) }
seller { buyer }
end
end
end
如果您有一个用户工厂,其他方法可以是:
factory :same_user_transaction do
association :buyer, factory: :user
seller { buyer }
end
或者更好,使用别名:
factory :user, aliases: [:buyer] do
first_name "John"
last_name "Doe"
date_of_birth { 18.years.ago }
end
factory :same_user_transaction do
buyer
seller { buyer }
end
参考文献:https://github.com/thoughtbot/factory_bot/blob/master/GETTING_STARTED.md#aliases