2011-10-25 2 views
2

Я новичок в рубинах на рельсах, поэтому я действительно не понимаю эту ошибку. Я установил драгоценный камень MiniTest, но я потерял, как продолжить.Я выполнил команду «rake test», и я получаю эту ошибку

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' вы установили? 'gem list minitest' должен показать вам. – tadman

+0

Также у вас есть 'minitest', включенный в ваш' Gemfile'? Можете ли вы разместить здесь свой контент Gemfile? –

+0

У вас есть 'gem 'minitest'' в вашем Gemfile? Вызывает ли вызов 'bundle exec rake test' ошибку? –

ответ

0

Я думаю, что вы должны сделать:

bundle update minitest 

в консоли (убедитесь, что не указывает на какой-либо конкретной версии в вашем Gemfile).

0

В Rails вы управляете драгоценными камнями, используемыми в вашем проекте, с Bundler, что вы сделаете, отредактировав Gemfile, расположенный в корне вашего проекта. В этом случае вам нужно добавить строку в раздел group :test do .... Затем сохраните Gemfile и запустите bundle install из командной строки.

Линия о вашем «тестовом помощнике» относится к файлу test/test_helper.rb. Поэтому после установки драгоценного камня с помощью Bundler, как указано выше, вы хотите открыть 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

Смежные вопросы