Rake を使用した Ruby 単体テストの実行
概要
私は Rake ビルド ツールを使用して単体テストの実行を自動化することを調査していました。 Web を検索しましたが、すべて Rails を使用する例でした。私は通常、小さなコマンドライン プログラムや単純な Sinatra アプリケーションを作成するだけです。
そこで私は、コマンドラインで行うことをエミュレートするだけの次の (おそらく悪い) 解決策を思いつきました: (例として単体テストを 1 つ実行しただけです)。
desc 'Run unit tests'
task :test do
sh 'ruby -I lib test/test_entry.rb'
end
task :default => :test
それは機能しますが、もっと良い方法があるはずだと思わずにはいられません。 require ‘test/test_entry.rb’ と書くだけでは機能しません。必要な問題が発生し、Ruby がすべてのファイルが存在する lib ディレクトリを見つけることができません。
解決策
Rake::TestTask http://rake.rubyforge.org/classes/Rake/TestTask.html を使用します。これを Rake ファイルに入れて、rake テストを実行します。
require 'rake/testtask'
Rake::TestTask.new do |t|
t.libs << "test"
t.test_files = FileList['test/test*.rb']
t.verbose = true
end