【发布时间】:2014-06-16 15:58:34
【问题描述】:
我使用的是 Rails 4.1 和 Ruby 2.0.0。我正在尝试使用minitest-rails 设置测试,但遇到了这个奇怪的错误。当我包括:
require 'minitest/spec'
在我的“spec_helper”文件中,它给了我一个 NameError: uninitialized constant Minitest::VERSION 错误。当我注释掉这一行时,一切似乎都正常。奇怪的是,“minitest/autorun”也在那里,没有引起任何问题。也许你们可以对这里发生的事情有所了解。
spec_helper.rb:
ENV["RAILS_ENV"] ||= "test"
require File.expand_path('../../config/environment', __FILE__)
require 'minitest/spec'
require 'minitest/autorun'
require 'minitest-rails'
require 'minitest-rails-capybara'
Rakefile:
require File.expand_path('../config/application', __FILE__)
Pinteresting::Application.load_tasks
namespace :test do
task :run do
ENV["RACK_ENV"] = "test"
$LOAD_PATH.unshift("lib", "spec")
if ARGV[1]
require_relative ARGV[1]
else
Dir.glob("./spec/**/*_spec.rb").each { |file| require file }
end
end
end
.spec:
require "spec_helper"
describe "Test" do
describe "When two is equal to two" do
it "asserts true" do
assert_equal(2, 2)
end
end
end
堆栈跟踪:
nbp-93-202:pinteresting Frank$ rake test:run
rake aborted!
NameError: uninitialized constant Minitest::VERSION
/usr/local/rvm/gems/ruby-2.0.0-p481/gems/minitest-5.3.4/lib/minitest/unit.rb:22:in `<class:Unit>'
/usr/local/rvm/gems/ruby-2.0.0-p481/gems/minitest-5.3.4/lib/minitest/unit.rb:21:in `<module:Minitest>'
/usr/local/rvm/gems/ruby-2.0.0-p481/gems/minitest-5.3.4/lib/minitest/unit.rb:20:in `<top (required)>'
/usr/local/rvm/gems/ruby-2.0.0-p481/gems/minitest-5.3.4/lib/minitest/spec.rb:1:in `<top (required)>'
/Users/Frank/Desktop/pinteresting/spec/spec_helper.rb:4:in `<top (required)>'
/Users/Frank/Desktop/pinteresting/spec/diagnostic_spec.rb:1:in `<top (required)>'
/Users/Frank/Desktop/pinteresting/Rakefile:12:in `block (3 levels) in <top (required)>'
/Users/Frank/Desktop/pinteresting/Rakefile:12:in `each'
/Users/Frank/Desktop/pinteresting/Rakefile:12:in `block (2 levels) in <top (required)>'
Tasks: TOP => test:run
【问题讨论】:
-
您在运行
bundle install时是否看到此错误?包括堆栈跟踪会有所帮助 -
我添加了堆栈跟踪
-
如果改变requires中的顺序,即先require'minitest/autorun'再'minitest/spec',是否还会出现错误?
-
我把它们调换了,就成功了,谢谢。
标签: ruby-on-rails ruby minitest