有没有一种方法可以覆盖Factory Girl中的create方法以及build方法?

4
在factory girl中,你可以通过指定一个initialize_with块来覆盖build方法,那么有没有一种方法可以用create方法做到这一点呢?
看起来当你在factory girl中调用create时,它会内部调用#build,然后保存!但是,我正在使用一个基于API / gem的模型,并调用#build然后保存!将不起作用,但它确实具有持久性的概念。那么,对于这些工厂,我应该如何重写create?这比重写save!要干净得多。
1个回答

4

是的,您可以覆盖 to_create。请参见 GETTING_STARTED 中的自定义方法以持久化对象

factory :different_orm_model do
  to_create { |instance| instance.persist! }
end

您还可以定义一个定制的“策略”,这是 FactoryGirl 称之为buildcreate的东西。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接