2013-07-04 7 views
11

xét nghiệm của tôi đã chạy mà không có vấn đề, khi đột nhiên cảnh báo sau xuất hiện:Cảnh báo MiniTest :: Unit :: TestCase này có nghĩa là gì?

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

này đã được báo cáo trong libs sau:

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' 

Tôi không có ý tưởng những gì nhắc những cảnh báo này xuất hiện. Có ai biết tôi có thể làm gì để loại bỏ các cảnh báo không?

Kiểm tra vẫn xuất hiện để chạy tốt, ngay cả với cảnh báo.

Môi trường Rails của tôi 3.2.12, chạy trên OSX 10.8.4.

Cảm ơn!

Trả lời

14

Bạn phải nâng cấp lên minitest 5.0. MiniTest :: Unit :: TestCase được đổi tên thành Minitest :: Test. Dưới đây là release notes.

+0

được, nhưng có bất kỳ gợi ý nào về cách loại bỏ cảnh báo, cách làm mọi thứ phù hợp với minitest 5? – jrochkind

+2

Chỉ định phiên bản 4.7.5 trong Gemfile của bạn: 'gem" minitest "," 4.7.5 "' – blowmage

+2

Nhưng tại sao tôi không thể sử dụng minitest 5 nếu tôi muốn? Ah, bạn đang nói rằng minitest 5 không tương thích với ActiveSupport vì một lý do nào đó? – jrochkind

7

Khả năng khác: bạn đang sử dụng phiên bản ruby ​​mới hơn. Tôi đã nhận được cảnh báo/lỗi này chạy trên ruby ​​2.1.2 (ngay cả với minitest 4.7.5); downgrade để ruby ​​2.0.0 giải quyết nó

+0

Điều này đang được gọi từ [stdlib 'Test :: Unit :: TestCase'] (https://github.com/rubysl/rubysl-test-unit/blob/c24e9beb78656e9d40aa87598976e7bcdc7e7b6f/lib/test/unit/testcase.rb#L8) trong Ruby 2.1. Hạ cấp xuống Minitest 4 hoặc Ruby 2.0 dường như là giải pháp duy nhất cho đến khi cập nhật stdlib cho Minitest 5. – jwadsack

2

Bạn có thể sử dụng phiên bản mới của ngọc kiểm tra đơn vịminitest với nhau. Ví dụ:

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