尝试运行最小单元测试时出错

时间:2013-07-25 09:17:09

标签: ruby minitest

尝试使用ruby test/test_foo.rb运行最小单元测试时出现以下错误:

Warning: you should require 'minitest/autorun' instead.
Warning: or add 'gem "minitest"' before 'require "minitest/autorun"'
From:
  /home/emile/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/minitest/autorun.rb:15:```

test_foo.rb看起来像这样:

require 'minitest/autorun'

class TestFoo < MiniTest::Test
 #stuf
end

My Gemfile包含gem 'minitest',test_foo.rb包含require 'minitest/autorun',但我仍然收到警告。

这是一个错误吗?有什么想法吗?

2 个答案:

答案 0 :(得分:7)

使用bundle exec ruby test/test_foo.rb运行测试,以确保使用捆绑的宝石(在这种情况下为minitest)。

只需运行ruby test/test_foo.rb即可使用全局安装的Rubygems。

如果你想再挖掘一下,可以尝试查看第15行的/home/emile/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/minitest/autorun.rb

答案 1 :(得分:4)

  

我按字面意思解释了警告并在行'minitest / autorun'之前添加了行'gem'minitest',这似乎有效。奇怪,或者这是预期的?

这是预期的。它告诉ruby使用gem版本而不是标准库版本。