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するだけで、グローバルにインストールされた Rubygem が使用されます。

もう少し掘り下げたい場合は/home/emile/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/minitest/autorun.rb、 の 15 行目あたりを調べてみてください。

于 2013-07-25T10:14:46.923 に答える
4

▲</p>

私は警告を文字通り解釈し、「minitest/autorun」が必要な行の前に「minitest」行を追加しましたが、それはうまくいくようです。奇妙な、またはこれは予想されますか?

これは予期されることです。標準ライブラリ バージョンではなく、gem バージョンを使用するように ruby​​ に指示します。

于 2013-07-25T12:58:03.273 に答える