概要
テスト用の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. 良い質問です。こちらを参考にしてください。