Предупреждение относительно минитеста/модуля при использовании с ActiveSupport-4.1.1.gem? Как это решить?

Я искал в google и github следующее предупреждение (более подробно см. ниже), которое я получаю, когда запускаю свои тесты на своем драгоценном камне, которые все проходят:

Warning: you should require 'minitest/autorun' instead.
Warning: or add 'gem "minitest"' before 'require "minitest/autorun"'

Я не встречал какого-либо реального решения проблемы, и в предупреждении неясно, где требуется «minitest/autorun» или зачем мне нужно добавлять «gen «minitest»», поскольку кажется, что activesupport-4.1.1. gem вытаскивает его (он находится в моей папке vendors\gems). Есть ли способ исправить это только при запуске моих тестов, потому что это всего лишь предупреждение, когда я запускаю тесты: S

Мой файл .gemspec...

 # LittleWeasel pulls in activesupport-4.1.1...
 spec.add_runtime_dependency 'LittleWeasel', '~> 2.1.2'
 spec.add_runtime_dependency 'ProtectedConstructor', '~> 1.0.5'
 spec.add_development_dependency "bundler", "~> 1.3"
 spec.add_development_dependency "rake"
 spec.add_development_dependency "rspec", "~> 2.13.0"
 spec.add_development_dependency "yard", "0.8.6.2"
 spec.add_development_dependency "redcarpet", "~> 2.3.0"

Получено предупреждение...

/Users/userabc/.rbenv/versions/1.9.3-p0/bin/ruby -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) /Users/userabc/RubymineProjects/monkeyengine/vendor/bundle/bin/rspec /Users/userabc/RubymineProjects/monkeyengine/test --require teamcity/spec/runner/formatter/teamcity/formatter --format Spec::Runner::Formatter::TeamcityFormatter --pattern **/*_spec.rb
Testing started at 10:38 AM ...
Warning: you should require 'minitest/autorun' instead.
Warning: or add 'gem "minitest"' before 'require "minitest/autorun"'
From:
  **/Users/userabc/.rbenv/versions/1.9.3-p0/lib/ruby/1.9.1/test/unit/assertions.rb:1:in `require'
  /Users/userabc/.rbenv/versions/1.9.3-p0/lib/ruby/1.9.1/test/unit/assertions.rb:1:in `<top (required)>'**
  /Users/userabc/RubymineProjects/monkeyengine/lib/MonkeyEngine/exceptions.rb:1:in `require'
  /Users/userabc/RubymineProjects/monkeyengine/lib/MonkeyEngine/exceptions.rb:1:in `<top (required)>'
  /Users/userabc/RubymineProjects/monkeyengine/lib/MonkeyAction/monkey_action_dead.rb:2:in `require'
  /Users/userabc/RubymineProjects/monkeyengine/lib/MonkeyAction/monkey_action_dead.rb:2:in `<top (required)>'
  /Users/userabc/RubymineProjects/monkeyengine/lib/MonkeyActions.rb:1:in `require_relative'
  /Users/userabc/RubymineProjects/monkeyengine/lib/MonkeyActions.rb:1:in `<top (required)>'
  /Users/userabc/RubymineProjects/monkeyengine/lib/Monkey/monkey.rb:3:in `require'
  /Users/userabc/RubymineProjects/monkeyengine/lib/Monkey/monkey.rb:3:in `<top (required)>'
  /Users/userabc/RubymineProjects/monkeyengine/lib/Monkey.rb:1:in `require_relative'
  /Users/userabc/RubymineProjects/monkeyengine/lib/Monkey.rb:1:in `<top (required)>'
  /Users/userabc/RubymineProjects/monkeyengine/test/rspec/action_rules_spec.rb:3:in `require'
  /Users/userabc/RubymineProjects/monkeyengine/test/rspec/action_rules_spec.rb:3:in `<top (required)>'
  /Users/userabc/RubymineProjects/monkeyengine/vendor/bundle/gems/rspec-core-2.13.1/lib/rspec/core/configuration.rb:819:in `load'
  /Users/userabc/RubymineProjects/monkeyengine/vendor/bundle/gems/rspec-core-2.13.1/lib/rspec/core/configuration.rb:819:in `block in load_spec_files'
  /Users/userabc/RubymineProjects/monkeyengine/vendor/bundle/gems/rspec-core-2.13.1/lib/rspec/core/configuration.rb:819:in `each'
  /Users/userabc/RubymineProjects/monkeyengine/vendor/bundle/gems/rspec-core-2.13.1/lib/rspec/core/configuration.rb:819:in `load_spec_files'
  /Users/userabc/RubymineProjects/monkeyengine/vendor/bundle/gems/rspec-core-2.13.1/lib/rspec/core/command_line.rb:22:in `run'
  /Users/userabc/RubymineProjects/monkeyengine/vendor/bundle/gems/rspec-core-2.13.1/lib/rspec/core/runner.rb:80:in `run'
  /Users/userabc/RubymineProjects/monkeyengine/vendor/bundle/gems/rspec-core-2.13.1/lib/rspec/core/runner.rb:17:in `block in autorun'

ИЗМЕНИТЬ

Начало файла action_rules_spec.rb:

require_relative 'spec_helpers'

require 'Monkey'
require 'MonkeyFactory'
require 'MonkeyEngine'
require 'MonkeyManager'
require 'MonkeyActions'
require_relative '../../lib/MonkeyKeyboard/keyboard_input'

describe 'ActionRules' do
...

spec_helpers.rb:

module SpecHelpers

  module SetMonkeyAction
    def set_action(action)
      @action = action
    end
  end
end

person gangelo    schedule 13.06.2014    source источник
comment
Не могли бы вы показать нам, что находится в action_rules_spec? особенно первые несколько строк?   -  person Uri Agassi    schedule 13.06.2014
comment
Важно показать сокращенную версию кода, демонстрирующую проблему. Из вашего примера мы не можем сказать, что вы делаете в своем тесте, где вы должны создавать подклассы MiniTest. Ваш Ruby очень устарел, что может способствовать возникновению проблемы. Ruby уже вышел из версии 2.1.   -  person the Tin Man    schedule 13.06.2014
comment
@UriAgassi добавил несколько строк из action_rules_spec.rb и spec_helpers.rb. Я не использую minitest, я использую rspec; minitest.gem есть только из-за ActiveSupport-4.1.1.gem :S   -  person gangelo    schedule 16.06.2014


Ответы (1)


Minitest 5 изменил API базового тестового класса на Minitest::Test с MiniTest::Unit::TestCase в MiniTest 4. Он также изменил требование на minitest/test с minitest/unit, хотя использование minitest/autorun будет правильным.

Раньше ActiveSuport 4.0 зависел от MiniTest 4, а ActiveSuport 4.1 зависит от Minitest 5.

В вашем приложении есть что-то, что требует minitest/unit. Похоже, это RSpec версии 2.13.1, которой больше года. Попробуйте обновить RSpec до более новой версии.

person blowmage    schedule 13.06.2014
comment
ты. Я обновил rspec до 3.0.0 и теперь получаю это исключение: /Users/gangelo/RubymineProjects/monkeyengine/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/configuration.rb:1018:in require': cannot load such file -- teamcity/spec/runner/formatter/teamcity/formatter (LoadError) from /Users/gangelo/RubymineProjects/monkeyengine/vendor/bundle/gems/rspec-core-3.0.1/lib/rspec/core/configuration.rb:1018:in блок в бла-бла-бла - person gangelo; 16.06.2014