这个MiniTest :: Unit :: TestCase警告是什么意思?

Dav*_*acs 11 ruby-on-rails minitest

我的测试运行没有问题,突然出现以下警告:

MiniTest::Unit::TestCase is now Minitest::Test
Run Code Online (Sandbox Code Playgroud)

这在以下库中报告:

ruby-1.9.3-p392/lib/ruby/1.9.1/test/unit/testcase.rb:8:in `<module:Unit>'
gems/activesupport-3.2.12/lib/active_support/test_case.rb:12:in `<module:ActiveSupport>'
gems/activesupport-3.2.12/lib/active_support/descendants_tracker.rb:34:in `inherited'
Run Code Online (Sandbox Code Playgroud)

我不知道是什么促使出现这些警告.有人知道我能做些什么来消除警告吗?

即使有警告,测试仍然可以正常运行.

我的Rails环境是3.2.12,在OSX 10.8.4上运行.

谢谢!

blo*_*age 14

您必须已升级到minitest 5.0.MiniTest :: Unit :: TestCase重命名为Minitest :: Test.这是发行说明.

  • 下面的Rails 4.0使用`MiniTest :: Unit :: TestCase`,这是Minitest 5.0中不推荐使用的.如果您不想获得已弃用的警告,请使用不推荐使用的版本.Rails 4.1使用Minitest :: Test`,它是在Minitest 5.0中添加的. (8认同)
  • 在你的Gemfile中指定版本4.7.5:`gem"minitest","4.7.5"` (2认同)
  • 但是,如果我想要的话,为什么我不能使用minitest 5?啊,你是说因为某些原因,minitest 5与ActiveSupport不兼容? (2认同)

Jus*_*ern 7

另一种可能性:你正在使用更新版本的红宝石.我在ruby 2.1.2上运行此警告/错误(即使是最小的4.7.5); 降级到ruby 2.0.0解决了它