Rakefile
小さなRuby gemをテストするのは非常に簡単です。次のようになります。
Rake::TestTask.new
task :default => :test
同じ名前の定数を定義する 2 つのテストを呼び出します。これにより、次のような 2 番目のテストでエラーが出力されます。
warning: already initialized constant xxxxx
これは、Rake が単一の Ruby インスタンス内ですべてのテストを実行するためです。
/usr/bin/ruby -I"lib" -I"/usr/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib" "/usr/lib/ruby/gems/2.1.0/gems/rake-10.3.2/lib/rake/rake_test_loader.rb" "test/test*.rb"
各テストを個別の Ruby インスタンスで実行するように指定するにはどうすればよいですか?
以下に示すようにこれを達成しましたが、このソリューションは多くのテストにうまく対応できないため、より良い方法があるのではないかと思います。
Rake::TestTask.new(:one) { |t| t.test_files = %w(test/test_one.rb) }
Rake::TestTask.new(:two) { |t| t.test_files = %w(test/test_two.rb) }
task :default => [:one, :two]