为什么即使我从不使用minitest,我也会收到这个最小的错误?

时间:2013-10-11 17:42:57

标签: ruby-on-rails ruby minitest

当我运行我的规范时,我收到此错误,即使我从未在代码中的任何位置包含minitest:

Warning: you should require 'minitest/autorun' instead.
Warning: or add 'gem "minitest"' before 'require "minitest/autorun"'

这是使用rails 4 master。

这是我的spec_helper.rb的顶部:

ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'rspec/autorun'

这是堆栈跟踪:

Warning: you should require 'minitest/autorun' instead.
Warning: or add 'gem "minitest"' before 'require "minitest/autorun"'
From:
  /Users/john/.rbenv/versions/2.1.0-preview1/lib/ruby/gems/2.1.0/bundler/gems/rails-e5f5a838b96a/activesupport/lib/active_support/dependencies.rb:238:in `require'
  /Users/john/.rbenv/versions/2.1.0-preview1/lib/ruby/gems/2.1.0/bundler/gems/rails-e5f5a838b96a/activesupport/lib/active_support/dependencies.rb:238:in `block in require'
  /Users/john/.rbenv/versions/2.1.0-preview1/lib/ruby/gems/2.1.0/bundler/gems/rails-e5f5a838b96a/activesupport/lib/active_support/dependencies.rb:223:in `load_dependency'
  /Users/john/.rbenv/versions/2.1.0-preview1/lib/ruby/gems/2.1.0/bundler/gems/rails-e5f5a838b96a/activesupport/lib/active_support/dependencies.rb:238:in `require'
  /Users/john/.rbenv/versions/2.1.0-preview1/lib/ruby/2.1.0/test/unit/assertions.rb:1:in `<top (required)>'
  /Users/john/.rbenv/versions/2.1.0-preview1/lib/ruby/gems/2.1.0/bundler/gems/rails-e5f5a838b96a/activesupport/lib/active_support/dependencies.rb:238:in `require'
  /Users/john/.rbenv/versions/2.1.0-preview1/lib/ruby/gems/2.1.0/bundler/gems/rails-e5f5a838b96a/activesupport/lib/active_support/dependencies.rb:238:in `block in require'
  /Users/john/.rbenv/versions/2.1.0-preview1/lib/ruby/gems/2.1.0/bundler/gems/rails-e5f5a838b96a/activesupport/lib/active_support/dependencies.rb:223:in `load_dependency'
  /Users/john/.rbenv/versions/2.1.0-preview1/lib/ruby/gems/2.1.0/bundler/gems/rails-e5f5a838b96a/activesupport/lib/active_support/dependencies.rb:238:in `require'
  /Users/john/.rbenv/versions/2.1.0-preview1/lib/ruby/gems/2.1.0/gems/rspec-rails-2.14.0/lib/rspec/rails/adapters.rb:3:in `<top (required)>'
  /Users/john/.rbenv/versions/2.1.0-preview1/lib/ruby/gems/2.1.0/bundler/gems/rails-e5f5a838b96a/activesupport/lib/active_support/dependencies.rb:238:in `require'
  /Users/john/.rbenv/versions/2.1.0-preview1/lib/ruby/gems/2.1.0/bundler/gems/rails-e5f5a838b96a/activesupport/lib/active_support/dependencies.rb:238:in `block in require'
  /Users/john/.rbenv/versions/2.1.0-preview1/lib/ruby/gems/2.1.0/bundler/gems/rails-e5f5a838b96a/activesupport/lib/active_support/dependencies.rb:223:in `load_dependency'
  /Users/john/.rbenv/versions/2.1.0-preview1/lib/ruby/gems/2.1.0/bundler/gems/rails-e5f5a838b96a/activesupport/lib/active_support/dependencies.rb:238:in `require'
  /Users/john/.rbenv/versions/2.1.0-preview1/lib/ruby/gems/2.1.0/gems/rspec-rails-2.14.0/lib/rspec/rails.rb:11:in `<top (required)>'
  /Users/john/.rbenv/versions/2.1.0-preview1/lib/ruby/gems/2.1.0/bundler/gems/rails-e5f5a838b96a/activesupport/lib/active_support/dependencies.rb:238:in `require'
  /Users/john/.rbenv/versions/2.1.0-preview1/lib/ruby/gems/2.1.0/bundler/gems/rails-e5f5a838b96a/activesupport/lib/active_support/dependencies.rb:238:in `block in require'
  /Users/john/.rbenv/versions/2.1.0-preview1/lib/ruby/gems/2.1.0/bundler/gems/rails-e5f5a838b96a/activesupport/lib/active_support/dependencies.rb:223:in `load_dependency'
  /Users/john/.rbenv/versions/2.1.0-preview1/lib/ruby/gems/2.1.0/bundler/gems/rails-e5f5a838b96a/activesupport/lib/active_support/dependencies.rb:238:in `require'
  /Users/john/foobar/spec/spec_helper.rb:3:in `<top (required)>'

1 个答案:

答案 0 :(得分:3)

最新版本的Minitest(内置于Ruby)与RSpec相比有一些重大变化。

这里有一个与此问题相关的github问题

https://github.com/rspec/rspec-rails/pull/772

将minitest gem添加到Gemfile是一个临时工作。

另一个选择是指向rspec-rails的github主版本,因为我相信它已在那里修复。