5

尝试使用以下命令运行 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

我的 Gemfile 确实包含gem 'minitest'并且 test_foo.rb 确实包含require 'minitest/autorun',但我仍然收到警告。

这是一个错误吗?有任何想法吗?

4

2 回答 2

7

运行测试bundle exec ruby test/test_foo.rb以确保使用捆绑的 gem(在本例中为 minitest)。

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

如果您想再多挖一点,请尝试在/home/emile/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/minitest/autorun.rb15 号线附近查看。

于 2013-07-25T10:14:46.923 回答
4

▲</p>

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

这是意料之中的。它告诉 ruby​​ 使用 gem 版本而不是标准库版本。

于 2013-07-25T12:58:03.273 回答