2013-07-04 15 views
11

miei test sono stati eseguiti senza problemi, quando è apparso improvvisamente il seguente avviso:Che cosa significa questo avvertimento MiniTest :: Unit :: TestCase?

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

Questo è stato segnalato nei seguenti librerie:

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' 

Non ho idea di ciò che ha spinto questi avvertimenti a comparire. Qualcuno sa cosa posso fare per eliminare gli avvertimenti?

Il test sembra ancora funzionare correttamente, anche con gli avvisi.

Ambiente My Rails 3.2.12, in esecuzione su OSX 10.8.4.

Grazie!

risposta

14

È necessario eseguire l'aggiornamento a 5.0 minitest. MiniTest :: Unit :: TestCase è stato rinominato Minitest :: Test. Ecco lo release notes.

+0

ok, ma qualche suggerimento su come sbarazzarsi degli avvertimenti, come rendere le cose giuste per il minitest 5? – jrochkind

+2

Specifica la versione 4.7.5 nel tuo Gemfile: 'gem" minitest "," 4.7.5 "' – blowmage

+2

Ma perché non posso usare minitest 5 se voglio? Ah, stai dicendo che il minitest 5 non è compatibile con ActiveSupport per qualche motivo? – jrochkind

7

Un'altra possibilità: si sta utilizzando una versione più recente di rubino. Stavo ricevendo questo avviso/errore in esecuzione su Ruby 2.1.2 (anche con Minitest 4.7.5); downgrade a rubino 2.0.0 risolto esso

+0

Questo viene chiamato da [stdlib 'Test :: Unit :: TestCase'] (https://github.com/rubysl/rubysl-test-unit/blob/c24e9beb78656e9d40aa87598976e7bcdc7e7b6f/lib/test/unit/testcase.rb#L8) in Ruby 2.1. Il downgrade a Minitest 4 o Ruby 2.0 sembra essere l'unica soluzione fino agli aggiornamenti di stdlib per Minitest 5. – jwadsack

2

È possibile utilizzare la nuova versione gioiello di test-unit e Minitest insieme. Esempio:

gem "test-unit", "~> 3.0" 
gem "minitest", "~> 5.5"