オブジェクトを永続化するための独自メソッド

既定で、レコードを作成するとインスタンスにsave!を呼びます。 これは常に最適ではないことがあるため、ファクトリにto_createを定義して挙動を上塗りできます。

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

作成で永続化のメソッドも一緒に無効化するには、ファクトリでskip_createすることができます。

factory :user_without_database do
  skip_create
end

全てのファクトリでto_createを上塗りするにはFactoryBot.defineブロック内で定義します。

FactoryBot.define do
  to_create { |instance| instance.persist! }


  factory :user do
    name { "John Doe" }
  end
end