既存の Rails 2.3.14 アプリケーションで minitest を試してみたいと思います。すでにいくつかのアプローチを試しましたが、どれもうまくいかないようです。
要するにこれに尽きます。minitest を Gemfile に追加すると、実行したすべてのテストが minitest ではbundle exec rake test
実行されません。
問題は、ほとんどのテスト ケースが ActiveSupport::Testcase または ActionController::Testcase (ActiveSupport::TestCase を拡張する) を拡張することです。
このクラスのコードを見ると、すでに (どういうわけか) MiniTest をサポートしていることがわかりました。
class TestCase < ::Test::Unit::TestCase
if defined? MiniTest
Assertion = MiniTest::Assertion
alias_method :method_name, :name if method_defined? :name
alias_method :method_name, :__name__ if method_defined? :__name__
else
...
end
(完全なコードについては、 https://github.com/rails/rails/blob/2-3-stable/activesupport/lib/active_support/test_case.rbを参照してください)
ここでの私の質問は次のとおりです。
Rails 2.3でtest::unitの代わりにminitestを拡張せずに使用することはどういうわけか可能ですか(MiniTest::Unit::TestCase)