ファクトリ

FactoryBot.defineブロック内ではファクトリを定義できます。 factoryを使って定義された全てのものは構築戦略を使って構築できます。

factoryメソッドは3つの実引数を取ります。 必須の名前、省略できるオプションのハッシュ、そして省略できるブロックです。

名前はSymbolにすることになっています。

オプション

  • :classは、構築するクラスです。 クラスないしStringやSymbol(#to_sに応答する任意のもの)にできます。 既定では親クラス名かファクトリ名の何れかです。
  • :parentはこのファクトリが継承する別のファクトリ名です。 既定ではnilです。
  • :aliasesはこのファクトリの別名です。 構築戦略で使えます。 既定では空リストです。
  • :traitsはこのファクトリを構築するときに既定で使われる既定のトレイトです。 既定で空リストです。

ブロック

ブロックを使ってファクトリを定義できます。 この中では以下のメソッドが使えます。

factory内でfactoryを使うと、暗示した親を持つ新しいファクトリを定義できます。