Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rails Minitest crashing when tests fail

Minitest crashes every time a test fails when I run rails test (Rails 5 and Ruby 2.4.2). For example, I forced a simple test to fail by switching the assert to assert_not:

Failure: TransactionTest#test_transaction_should_be_valid [/home/.../test/models/transaction_test.rb:11]: Expected true to be nil or false

/home/.../.rvm/gems/ruby-2.4.2/gems/railties-5.1.4/lib/rails/test_unit/reporter.rb:70:in `method': undefined method `test_transaction_should_be_valid' for class `Minitest::Result' (NameError)

If the test passes, then the entire report is successful and I get the report summary. If only one test fails I get the error report above. I defined test_transaction_should_be_valid in my transaction_test.rb file and the proof of it is that it runs smoothly when the test passes.

I'm stuck on this now. Any ideas as to what might be causing this?

like image 515
Isaac Avatar asked Jan 12 '18 15:01

Isaac


1 Answers

Apparently Rails is not yet quite compatible with Minitest 5.10/5.11: https://github.com/seattlerb/minitest/issues/730 They have posted a monkeypatch to tide us over.

Rails has apparently also fixed this in edge. https://github.com/rails/rails/pull/31624

This error disappeared for me when I pulled from the master branch. Put this in your Gemfile:

gem 'rails', git: 'https://github.com/rails/rails.git'

edit: promoting from comments (thanks coco9nyc):

or you can try downgrading minitest:

gem 'minitest', '5.10.3'
like image 106
aljabear Avatar answered Sep 28 '22 06:09

aljabear