こんな感じで追加
desc "Run all tests" task :test do require 'test/unit' test_files = FileList['test/**/*_test.rb'] test_files.each do |t| sh "ruby #{t}" end end
オプションってあるんだっけ? よくわからない。
test ディレクトリの中身の本体は require とか直してないのでもちろん動かない。この辺も test_helper.rb みたいのを作ってよしなに計らうようにしたほうがいいんだろうなー。誰か (ry
drry さんによるオプション追加コードと rake/testtask 使って書き直した。あと test/unit はここで require しても意味ないので削除。
desc 'Run all tests' task :test do require 'rake/testtask' Rake::TestTask.new do |t| t.test_files = FileList[File.join('test', '**', '*_test.rb')] t.ruby_opts << [File.join(package[:root], 'plugin')].map{|path| "-I#{path}" }.join(' ') end end
TestTask には options と ruby_opts の二個あって最初わけわからんかった。結局本体読んで解決したけど…。こういうのって rdoc とかで調べるのが流儀なんだろうか。
ハクバノ王子サマ8巻を大人買い。1-6巻は中古で半額だけど、7-8巻は新品で2500円。
これ注文してから到着するまで一週間近くかかるんだけど、これにイライラするのは Amazon の奴隷ってことなんだろうなあ。
ハクバノ王子サマを読んでいるうちに drry さんがさらにエンハンスしてくれた。drry++
Rake::TestTask.new do |t| t.libs << File.join(package[:root], 'plugin') t.pattern = File.join 'test', '**', '*_test.rb' end Spec::Rake::SpecTask.new do |t| t.spec_opts = ['--options', File.join('spec', 'spec.opts')] end
最初に書いたのからえらく短くなったけど、Rake::TestTask や Spec::Rake::SpecTask 本体の中身を読んでみるとこういうことらしい。
なるほどなー。知らないことばっか。
御存じかもしれませんが……。<br>っ【rake/test】
間違えた……。【rake/testtask】でした。
いやいや、全く知りませんでした。Rakefile触りだしたのも昨日から。<br>紹介ありがとうございます。