有没有办法覆盖创建方法以及构建工厂女孩?
Is there a way to override create method as well as build in factory girl?
在工厂女孩中,您可以通过指定一个 initialize_with 块来覆盖构建方法,有没有办法使用创建方法来做到这一点?
看起来当你在 factory girl 中调用 create 时,它会在内部调用 #build,然后保存!。但是,我使用的是 API/gem 支持的模型,并调用 #build 然后保存!不会起作用,但确实有持久化的概念。我应该如何覆盖这些工厂的创建?这比覆盖保存要干净得多!
是的,您可以覆盖 to_create
。请参阅 GETTING_STARTED 中的 Custom Methods For Persisting Objects。
factory :different_orm_model do
to_create { |instance| instance.persist! }
end
你也可以定义一个custom "strategy",这就是FactoryGirl所说的build
和create
。
在工厂女孩中,您可以通过指定一个 initialize_with 块来覆盖构建方法,有没有办法使用创建方法来做到这一点?
看起来当你在 factory girl 中调用 create 时,它会在内部调用 #build,然后保存!。但是,我使用的是 API/gem 支持的模型,并调用 #build 然后保存!不会起作用,但确实有持久化的概念。我应该如何覆盖这些工厂的创建?这比覆盖保存要干净得多!
是的,您可以覆盖 to_create
。请参阅 GETTING_STARTED 中的 Custom Methods For Persisting Objects。
factory :different_orm_model do
to_create { |instance| instance.persist! }
end
你也可以定义一个custom "strategy",这就是FactoryGirl所说的build
和create
。