2013-07-04 11 views
11

Benim testleri, sorunsuz çalışan: Bu Mini Test :: Birim :: TestCase uyarısı ne anlama geliyor? aniden aşağıdaki uyarı ortaya çıktığında

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

Bu

aşağıdaki kütüphanelerini bildirildi:

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' 

Ben görünmesini Bu uyarıları istendiğinde hiçbir fikrim yok. Uyarıları ortadan kaldırmak için neler yapabileceğimi bilen var mı?

Test hala uyarılarla birlikte düzgün çalışıyor gibi görünüyor.

Rails ortamım 3.2.12, OSX 10.8.4 üzerinde çalışıyor.

Teşekkürler!

cevap

14

En az 5.0'a yükseltmiş olmanız gerekir. MiniTest :: Birim :: TestCase Minitest :: Test olarak yeniden adlandırıldı. İşte release notes.

+0

tamam, ama uyarılardan nasıl kurtulacağınıza dair herhangi bir ipucu, en iyisi 5 için nasıl doğru şeyler yapılacağı konusunda ipuçları var mı? – jrochkind

+2

Gemfile'ınızda sürüm 4.7.5'ü belirtin: 'taş 'minitest', '4.7.5'' – blowmage

+2

Ama neden en az 5'i kullanamıyorum? Ah, en az 5'in bir sebepten dolayı ActiveSupport ile uyumlu olmadığını mı söylüyorsun? – jrochkind

7

Başka bir olasılık: Ruby'nin daha yeni bir sürümünü kullanıyorsunuz. Ruby 2.1.2 üzerinde çalışan bu uyarı/hatayı alıyorum (en küçük 4.7.5 ile bile); 2.0.0 yakut sürümüne indirmek Birlikte test edilen cihazın ve minitest yeni mücevher sürümünü kullanabilirsiniz o

+0

Bu, [stdlib 'Test :: Unit :: TestCase'] 'den (https://github.com/rubysl/rubysl-test-unit/blob/c24e9beb78656e9d40aa87598976e7bcdc7e7b6f/lib/test/unit/testcase.rb#L8 adresinden çağrılmaktadır.) Ruby'de 2.1. Minitest 5 için stdlib güncellemelerine kadar Minitest 4 veya Ruby 2.0'a düşürme tek çözüm olarak görünüyor. – jwadsack

2

çözüldü. Örnek:

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