2011-10-25 78 views
2

我是新来红宝石轨道上,所以我真的不明白这个错误。 我确实安装了宝石MiniTest,但我失去了如何继续。我跑了命令“耙测试”,我得到这个错误

rake test 
/Users/mesmer/.rvm/gems/ruby-1.9.2-p290/gems/turn-0.8.3/lib/turn/autorun/minitest.rb:14:in `<top (required)>': MiniTest v1.6.0 is out of date. (RuntimeError) 
`gem install minitest` and add `gem 'minitest' to you test helper. 
    from /Users/mesmer/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require' 
    from /Users/mesmer/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `block in require' 
    from /Users/mesmer/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:225:in `load_dependency' 
    from /Users/mesmer/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require' 
    from /Users/mesmer/.rvm/gems/ruby-1.9.2-p290/gems/turn-0.8.3/lib/turn.rb:13:in `<top (required)>' 
    from /Users/mesmer/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require' 
    from /Users/mesmer/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `block in require' 
    from /Users/mesmer/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:225:in `load_dependency' 
    from /Users/mesmer/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require' 
    from /Users/mesmer/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.1/lib/rails/test_help.rb:19:in `<top (required)>' 
    from /Users/mesmer/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require' 
    from /Users/mesmer/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `block in require' 
    from /Users/mesmer/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:225:in `load_dependency' 
    from /Users/mesmer/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.1.1/lib/active_support/dependencies.rb:240:in `require' 
    from /Users/mesmer/Dropbox/Dev/Rails/depot/test/test_helper.rb:3:in `<top (required)>' 
    from /Users/mesmer/Dropbox/Dev/Rails/depot/test/unit/helpers/products_helper_test.rb:1:in `require' 
    from /Users/mesmer/Dropbox/Dev/Rails/depot/test/unit/helpers/products_helper_test.rb:1:in `<top (required)>' 
    from /Users/mesmer/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb:10:in `require' 
    from /Users/mesmer/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb:10:in `block (2 levels) in <main>' 
    from /Users/mesmer/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb:9:in `each' 
    from /Users/mesmer/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb:9:in `block in <main>' 
    from /Users/mesmer/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb:4:in `select' 
    from /Users/mesmer/.rvm/gems/ruby-1.9.2-p290/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb:4:in `<main>' 
+0

您安装了哪个版本的'minitest'? '宝石名单minitest'应该显示你。 – tadman

+0

你也有'minitest'包含在你的'Gemfile'中吗?你可以在这里发布你的'Gemfile'内容吗? –

+0

你的Gemfile里有'gem'minitest''吗?调用'bundle exec rake test'是否会使错误消失? –

回答

0

我猜你应该做的:

bundle update minitest 
在控制台

(确保不指向您的Gemfile任何特定版本)。

0

在Rails中,您可以通过编辑Gemfile来管理项目中使用的宝石Bundler,该工具位于项目的根目录中。在这种情况下,您需要在group :test do ...部分内添加行。然后保存Gemfile并从命令行运行bundle install

关于你的“测试助手”的一行是指文件test/test_helper.rb。因此,在与Bundler一起安装gem之后,您需要打开test/test_helper.rb,并在顶部附近的某处添加行require 'minitest'(可能在任何require行之后)。

2

是的,不幸的是Rails教程和我正在使用的书都没有提到必须编辑Gemfile,但它似乎是必需的。

我不得不在/Gemfile添加一个额外的线,包括 'MINITEST':

group :test do 
    # Pretty printed test output 
    gem 'turn', :require => false 
    gem 'minitest'     ####### add this line ####### 
end 

之后,rake test似乎工作确定。奇怪的是,错误提到过时的版本,但。不要那样。

+1

刚开始学习导轨时出现这个问题。我假设它最近的事情?无论是它解决了我的问题。 – Steve

相关问题