minitest_plugin.rb:9 получает неправильное количество аргументов

~/Sites/sample_app$ rails test
Running via Spring preloader in process 24338
Run options: --seed 58780

Running:

..

Finished in 0.292172s, 6.8453 runs/s, 6.8453 assertions/s.
/var/lib/gems/2.3.0/gems/railties-5.1.0/lib/rails/test_unit/minitest_plugin.rb:9:in `aggregated_results': wrong number of arguments (given 1, expected 0) (ArgumentError)

Я не понимаю, почему я получаю эту ошибку. Кажется, я не могу найти никого с этой конкретной ошибкой. Я следую руководству https://www.railstutorial.org/book/static_pages. Эта ошибка следует за командой проверки рельсов. Запустите Ubuntu и rails 5.1, если это поможет. Я не передаю никаких аргументов, поэтому не понимаю, почему я получаю эту ошибку.

Мой тестовый файл выглядит так:

    require 'test_helper'

    class StaticPagesControllerTest < ActionDispatch::IntegrationTest

    test "should get home" do
      get static_pages_home_url
      assert_response :success
    end

    test "should get help" do
      get static_pages_help_url
      assert_response :success
    end

person Josh HUmphrey    schedule 10.05.2017    source источник


Ответы (5)


На самом деле это ошибка в рельсах, обнаруженная обновлением minitest до 5.10.2, как указано здесь и это уже исправлено здесь.

Поскольку запросу на вытягивание всего 10 часов (на момент написания), он еще не выпущен, хотя уже слит.

А пока вы можете указать в своем Gemfile:

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

Изменить

Не забудьте bundle update minitest

person Geoffroy    schedule 10.05.2017

Эй, я делаю это точное руководство и следовал главному решению, и оно исправило мою проблему, в частности (для нас, полных нубов). Я сделал это с моим Gemfile.

group :test do
  gem 'rails-controller-testing', '0.1.1'
  gem 'minitest-reporters',       '1.1.9'
  gem 'guard',                    '2.13.0'
  gem 'guard-minitest',           '2.4.4'
  gem 'minitest', '~> 5.10', '!= 5.10.2' # add this here to fix error
end
person Jim    schedule 19.05.2017

Оказывается, в моем test/test_helper.rb мне нужна была отсутствующая строка кода. Я добавил это перед "классом ActiveSupport::TestCase".

    Minitest::Reporters.use!

Это дало мне проходной результат для моего теста без странной ошибки аргумента. Надеюсь, это поможет кому-то в будущем!

person Josh HUmphrey    schedule 10.05.2017

Проблема в минитесте 5.10.2. Понижение до 5.10.1 исправляет это.

Добавьте эту строку в тестовую группу в Gemfile

gem 'minitest', '5.10.1'

Затем выполните следующие команды

bundle update minitest
rails test

Проблема решена

person abhishek    schedule 06.05.2019

Я также столкнулся с этой ошибкой. Я попытался использовать решение, получившее наибольшее количество голосов, но рельсы сказали мне, что пакет заблокировал минитест до версии 5.10.2. Вместо этого я просто сделал gem update minitest, и мои тесты прошли без странной ошибки.

person olegdeleon    schedule 11.05.2017
comment
Если вы изменили только гем minitest в Gemfile, попробуйте обновить его с помощью bundle update --source minitest - person tschoppi; 19.05.2017
comment
OP: просто прочитайте сообщение, которое дает вам сборщик сообщений, он говорит вам использовать bundle update для изменения заблокированной версии... - person Geoffroy; 22.05.2017