我想用现有的 Rails 2.3.14 应用程序尝试 minitest。我已经尝试了几种方法,但它们似乎都不起作用。
它基本上归结为这一点。当我将 minitest 添加到 Gemfile 时,我运行的所有测试bundle exec rake test
都不会使用 minitest 执行。
问题是大多数测试用例扩展了 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 中使用 minitest 而不是 test::unit 而无需扩展 (MiniTest::Unit::TestCase)