Ruby on rails 工厂女孩,默认特征中的关联,但在传递特征时将其保持为非关联
我正在使用rspec aRuby on rails 工厂女孩,默认特征中的关联,但在传递特征时将其保持为非关联,ruby-on-rails,rspec,factory-bot,Ruby On Rails,Rspec,Factory Bot,我正在使用rspec a公司模型进行测试,该模型具有多个地址 我正在使用factory girl来生成我的测试环境,我希望默认的公司注册几个地址,而我希望在没有任何地址的公司的特定情况下有一个特征 我现在在工厂里做的是: FactoryGirl.define do factory :company do sequence(:name) { |n| "company #{n}" } description { "description #{name}" } t
公司
模型进行测试,该模型具有多个地址
我正在使用factory girl来生成我的测试环境,我希望默认的公司注册几个地址,而我希望在没有任何地址的公司的特定情况下有一个特征
我现在在工厂里做的是:
FactoryGirl.define do
factory :company do
sequence(:name) { |n| "company #{n}" }
description { "description #{name}" }
trait :no_address do
addresses nil
end
after(:create) do |company, evaluator|
create_list(:address, 3, company: company)
end
end
end
如何创建工厂,以便在使用traitno\u address
时根本不创建地址
谢谢,FactoryGirl's可能正是您所需要的:
FactoryGirl.define do
factory :company do
transient do
create_address true
end
sequence(:name) { |n| "company #{n}" }
description { "description #{name}" }
trait :no_address do
transient do
create_address false
end
end
after(:create) do |company, evaluator|
create_list(:address, 3, company: company) if evaluator.create_address
end
end
end