事業内容

RailsのRSpecでFactoryGirlを利用する




ダミーデータ生成に利用するFactoryGirlをRailsで利用してみます。
まず、生成するデータ定義を下記のようにします。



factory名は通常モデル名にあわせて設定します。
別名を付ける際には、「class: モデル」というようにモデルを指定しておく必要があります。
after(:build)については、buildで生成後、特定の処理を実行したい場合に指定します。
beforeにした場合、生成前に処理を実行することができます。
factory.defineの場所は今回は「/spec/factories」に作成しています。

上記で定義したものは実際に下記のように利用します。



生成にはFactoryGirl.buildを利用していますが、buildを利用するとDBにデータを保存せずに
ActiveRecordのモデルオブジェクトを生成します。
FactoryGirl.createを利用すると、DBに保存してデータを生成できます。

上記で複数のデータを生成できるbuild_list、create_listという呼び方も存在します。
また、この他にもハッシュ生成やスタブ生成等もできるようです。



RSpecへ

テンプレートのpondt