gpt4 book ai didi

factory_girl/机械师中的单例工厂?

转载 作者:行者123 更新时间:2023-12-03 23:29:02 25 4
gpt4 key购买 nike

工厂女孩/机械师的工厂中是否有一些配置强制它在测试用例期间只创建一次具有相同工厂名称的对象并始终返回相同的实例?我知道,我可以这样做:

def singleton name
@@singletons ||= {}
@@singletons[name] ||= Factory name
end
...
Factory.define :my_model do |m|
m.singleton_model { singleton :singleton_model }
end

但也许有更好的方法。

最佳答案

您可以在工厂中使用 initialize_with 宏并检查对象是否已经存在,然后不要再次创建它。当所述工厂被关联引用时,这也有效:

FactoryGirl.define do
factory :league, :aliases => [:euro_cup] do
id 1
name "European Championship"
owner "UEFA"
initialize_with { League.find_or_create_by_id(id)}
end
end

这里有一个类似的问题,有更多的选择: Using factory_girl in Rails with associations that have unique constraints. Getting duplicate errors

关于factory_girl/机械师中的单例工厂?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4317848/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com