Ruby on rails 3.2 Rails/Zeus:“;MiniTest v5.0.8已过时;错误

Ruby on rails 3.2 Rails/Zeus:“;MiniTest v5.0.8已过时;错误,ruby-on-rails-3.2,bundler,minitest,zeus,Ruby On Rails 3.2,Bundler,Minitest,Zeus,我最近设置了Zeus和Minitest来测试Rails应用程序 但是,我得到了以下错误: leo% zeus test /Users/leo/.rvm/gems/ruby-1.9.3-p125@backscratchers/gems/turn-0.9.6/lib/turn/minitest.rb:23:in `<top (required)>': MiniTest v5.0.8 is out of date. `gem install minitest` and add `gem '

我最近设置了Zeus和Minitest来测试Rails应用程序

但是,我得到了以下错误:

leo% zeus test
/Users/leo/.rvm/gems/ruby-1.9.3-p125@backscratchers/gems/turn-0.9.6/lib/turn/minitest.rb:23:in `<top (required)>': MiniTest v5.0.8 is out of date.
`gem install minitest` and add `gem 'minitest' to you test helper. (RuntimeError)
  from /Users/leo/.rvm/gems/ruby-1.9.3-p125@backscratchers/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:251:in `require'
  from /Users/leo/.rvm/gems/ruby-1.9.3-p125@backscratchers/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:251:in `block in require'
  ... etc ...
因此,“过时”或许有点误导。它真正的意思是API不是预期的,对吗

我从我的gem文件中删除了
gem'turn'
,运行
bundle安装
,然后重新启动宙斯

现在我得到:

/Users/leo/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/test/unit.rb:328:in `autorun': uninitialized class variable @@installed_at_exit in Test::Unit::Runner (NameError)
  from /Users/leo/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/test/unit.rb:640:in `<top (required)>'
  from /Users/leo/.rvm/gems/ruby-1.9.3-p125@backscratchers/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:251:in `require'
  from /Users/leo/.rvm/gems/ruby-1.9.3-p125@backscratchers/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:251:in `block in require'
  from /Users/leo/.rvm/gems/ruby-1.9.3-p125@backscratchers/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:236:in `l
... etc ...
/Users/leo/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/test/unit.rb:328:在“自动运行”中:未初始化的类变量@安装在test::unit::Runner的\u出口处(NameError)
from/Users/leo/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/test/unit.rb:640:in`'
来自/Users/leo/.rvm/gems/ruby-1.9.3-p125@backscratchers/gems/activesupport-3.2.11/lib/active\u-support/dependencies.rb:251:in'require'
来自/Users/leo/.rvm/gems/ruby-1.9.3-p125@backscratchers/gems/activesupport-3.2.11/lib/active\u support/dependencies.rb:251:in'block in require'
来自/Users/leo/.rvm/gems/ruby-1.9.3-p125@backscratchers/gems/activesupport-3.2.11/lib/active\u-support/dependencies.rb:236:in`l
... 等
这是怎么回事?我是否有错误版本的Minitest?为什么Bundler不能找出依赖链,我想这就是问题所在


非常感谢您的建议。

好吧,目前的解决方案似乎是降低Minitest的等级:

gem'minitest',“~>4'

然而,在运行特定测试时,这似乎会导致连锁反应,因为我现在在实际运行测试时遇到
未初始化常量MiniTest::test
错误

更新:

MiniTest的旧版本似乎使用了不同的模块/类层次结构,因此
MiniTest::Test
必须成为
MiniTest::Unit::TestCase

注意Minitest>Minitest的大小写

要查看哪些类可用于小型测试/小型测试,可以使用:

MiniTest.constants.select {|c| Class === MiniTest.const_get(c)}
MiniTest.constants.select {|c| Class === MiniTest.const_get(c)}