rails: Minitest with Rails 5.2.0 - Uninitialized constant Minitest::Rails::TestUnit (NameError)

While using Ruby 2.3.3 and upgrading the Rails gem from 5.1.4 to 5.2.0.beta2, rake fails:

$ rake
.../gems/railties-5.2.0.beta2/lib/minitest/rails_plugin.rb:16:in `plugin_rails_options': uninitialized constant Minitest::Rails::TestUnit (NameError)
	.../gems/ruby-2.3.3@donortools2/gems/minitest-5.10.3/lib/minitest.rb:201:in `block (2 levels) in process_args'
	.../gems/ruby-2.3.3@donortools2/gems/minitest-5.10.3/lib/minitest.rb:199:in `each'
	.../gems/minitest-5.10.3/lib/minitest.rb:199:in `block in process_args'
	.../.rvm/rubies/ruby-2.3.3/lib/ruby/2.3.0/optparse.rb:1062:in `initialize'
	.../gems/minitest-5.10.3/lib/minitest.rb:169:in `new'
	.../gems/minitest-5.10.3/lib/minitest.rb:169:in `process_args'
	.../gems/minitest-5.10.3/lib/minitest.rb:123:in `run'
	.../gems/minitest-5.10.3/lib/minitest.rb:63:in `block in autorun'

I can’t tell if the problem is withminitest 5.10.3 or Rails 5.2.0.beta2?

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Reactions: 6
  • Comments: 24 (11 by maintainers)

Commits related to this issue

Most upvoted comments

Sorry for the inconvenience. I fixed this issue with 686f4f3. And backported to 5-2-stable 4887f97.

Monkeypatch:

# https://github.com/rails/rails/issues/31324
if ActionPack::VERSION::STRING >= "5.2.0"
  Minitest::Rails::TestUnit = Rails::TestUnit
end

fix in railties-5.2.0/lib/minitest/rails_plugin.rb:16 should be using ::Rails

@mauditecandela meanwhile I edited gems/railties-5.2.0/lib/minitest/rails_plugin.rb and replaced Rails::TestUnit::Runner.attach_before_load_options(opts) with ::Rails::TestUnit::Runner.attach_before_load_options(opts), it’s working on a new 5.2 project.