Fixtureつくるの面倒ー☆

最近心を入れ替えてちゃんとtestを書こうと考えています。
考えてはいます。はい。


とりあえずFixtureつくるのが面倒です。
手でちまちま書くか、DBから一気にひっぱってくるか。


まぁとりあえずtestの経験もあまりないのでDBからひっぱってくる方向で。
さっくりtestのすばらしさを味わいたいと思います。


で、、、、昔々なんかソレ系の Plugin を入れたのを思いだしたのです。

ar_fixtures

インスコ

ruby script/plugin install http://topfunky.net/svn/plugins/ar_fixtures

とかですかね。


rake -T してみると

  • rake db:fixtures:save # Save fixtures from the current environment..

てな感じで昔の残骸が残ってました♪

desc "Save fixtures from the current environment's database"
task :"db:fixtures:save" => :environment do
  pre_defined = Object.subclasses_of(ActiveRecord::Base)
  Dir["app/models/*.rb"].each{|i| eval File.basename(i, '.rb').classify}
  (Object.subclasses_of(ActiveRecord::Base) - pre_defined).each{|klass| klass.to_fixture}
end

task :save_fixtures => "db:fixtures:save" # alias

たぶんhttp://wota.jp/ac/?date=20060211から貰ってきたんでしょう。ちょっと違うかな?
覚えてないや。。。


rakeとか使わなくても

[hana-da@kikyo(13:56:15) trunk]$ script/runner Staff.to_fixture

ってやると staffs.yaml を作ってくれる。便利ー。