概要

テスト用のfixturesとseedデータを$ rails db:fixtures:loadを使うことによって共通化する方法です。

やり方

db/seed.rbにこう書く。

# db/seed.rb:
Rake::Task["db:fixtures:load"].execute

メリット

  • seedとfixturesがDRYになる。
  • テスト時のデータが画面から見える。
  • テストに使っているエッジケースのデータを普段から意識するようになる。

Q&A

Q. factory_girlの場合は?

A. factory_girlは素人にはおすすめできない。まずはRailsデフォルトのfixturesを使いこなしましょう。

Q. seed-fuは?

A. 窓から捨てましょう。

Q. 画像ファイルがseedに必要な場合は?

A. 良い質問です。こちらを参考にしてください。

db:fixtures:loadの後処理をする - komagataのブログ

Comments


(Option)