7
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

updated at

minitestの5.10.2でtestが動作しないときに試すこと

(2017/05/17追記あり)
Ruby on Rails Tutorialのテストが動作しなかったので備忘録代わりに。

上記Tutorialにおいて、Railsのバージョンは5.0.0.1で固定されている。
そして、簡単なコントローラーをgenerateしてテストを実行しようとすると下記エラーが発生する。

$ rails test
Running via Spring preloader in process 2460
Run options: --seed 30883

# Running:

..

Finished in 0.811104s, 2.4658 runs/s, 2.4658 assertions/s.
/usr/local/rvm/gems/ruby-2.3.0/gems/railties-5.0.0.1/lib/rails/test_unit/minitest_plugin.rb:9:in `aggregated_results': wrong number of arguments (given 1, expected 0) (ArgumentError)
        from /usr/local/rvm/gems/ruby-2.3.0/gems/minitest-5.10.2/lib/minitest.rb:597:in `report'
        from /usr/local/rvm/gems/ruby-2.3.0/gems/minitest-reporters-1.1.9/lib/minitest/minitest_reporter_plugin.rb:26:in `each'
        from /usr/local/rvm/gems/ruby-2.3.0/gems/minitest-reporters-1.1.9/lib/minitest/minitest_reporter_plugin.rb:26:in `report'
        from /usr/local/rvm/gems/ruby-2.3.0/gems/minitest-5.10.2/lib/minitest.rb:687:in `each'
・
・
・

どうもgemのminitestが5.10.2(2017/5/9リリース)にアップデートされたことで発生した様子。
参考:StackOverflow

Rails側でminitestに合わせた対応が進んでいる。
暫定対応としては、gemfileに以下の記述を追加し、5.10.1のminitestをインストールすることで解決ができる。

gem 'minitest', '~> 5.10', '!= 5.10.2'

(2017/5/17追記)
2017/5/12にリリースされたRails5.0.3とRails5.1.1で対応されたそうです。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
7
Help us understand the problem. What are the problem?