2013-07-04 72 views
11

我的测试运行没有问题的时候,突然下面的警告出现:这个MiniTest :: Unit :: TestCase警告是什么意思?

MiniTest::Unit::TestCase is now Minitest::Test 

据报道,这在下面的库:

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' 

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

即使有警告,测试依然可以正常运行。

My Rails environmentis 3.2.12,在OSX 10.8.4上运行。

谢谢!

回答

14

您必须升级到minitest 5.0。 MiniTest :: Unit :: TestCase被重命名为Minitest :: Test。这里是release notes

+0

好的,但有关如何摆脱警告,如何使事情正确的最小5的任何提示? – jrochkind

+2

在您的Gemfile中指定版本4.7.5:'gem“minitest”,“4.7.5”' – blowmage

+2

但是为什么我不能使用minitest 5?啊,你是说由于某种原因,最小5与ActiveSupport不兼容? – jrochkind

7

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

+0

这是从[stdlib'Test :: Unit :: TestCase']调用的(https://github.com/rubysl/rubysl-test-unit/blob/c24e9beb78656e9d40aa87598976e7bcdc7e7b6f/lib/test/unit/testcase.rb#L8 )在Ruby 2.1中。降级到Minitest 4或Ruby 2.0似乎是唯一的解决方案,直到stdlib更新Minitest 5。 – jwadsack

2

可以使用测试单元MINITEST的新宝石版本一起。例如:

gem "test-unit", "~> 3.0" 
gem "minitest", "~> 5.5" 
相关问题