2013-07-04 109 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" 
相關問題