Ошибка при попытке запустить минимальный юнит-тест

Я получаю следующую ошибку при попытке запустить тестовый модуль 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'Тем не менее, я все еще получаю предупреждение.

Это ошибка? Есть идеи?

2 ответа

Решение

Запустите свой тест, используя bundle exec ruby test/test_foo.rb чтобы убедиться, что вы используете ваши драгоценные камни в комплекте (в данном случае minitest).

Просто работает ruby test/test_foo.rb будет использовать ваши глобально установленные Rubygems.

Если вы хотите покопаться немного больше, попробуйте заглянуть в /home/emile/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/minitest/autorun.rbвокруг линии 15.

Я буквально интерпретировал предупреждение и добавил строку gem 'minitest', прежде чем строка потребует 'minitest / autorun', и это, похоже, работает. Странно, или это ожидается?

Это ожидается. Он говорит ruby ​​использовать версию gem, а не стандартную версию библиотеки.

Другие вопросы по тегам