minitest_plugin.rb:9 参数个数错误
minitest_plugin.rb:9 getting wrong number of arguments
~/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。此错误遵循 rails 测试命令。 运行 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
事实证明,在我的 test/test_helper.rb 中,我需要一行缺少的代码。我在 "class ActiveSupport::TestCase".
之前添加了这个
Minitest::Reporters.use!
这让我的测试通过了,没有奇怪的参数错误。希望这对未来的人有所帮助!
这实际上是 rails 中的一个错误,由 minitest 更新到 5.10.2 显示 here and it has already been fixed here。
由于拉取请求只有 10 小时(在撰写本文时),它尚未发布,尽管它已经合并。
同时,您可以在 Gemfile 中指定:
gem 'minitest', '~> 5.10', '!= 5.10.2'
编辑
别忘了bundle update minitest
我也遇到了这个错误。我尝试使用投票最高的解决方案,但 rails 告诉我 bundle 已将 minitest 锁定到 5.10.2。相反,我只是做了一个 gem update minitest
和我的测试 运行 而没有出现奇怪的错误。
嘿,我正在做这个确切的教程并遵循了最佳解决方案,它解决了我的问题,特别是(对于我们这些菜鸟)我对我的 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
问题出在 minitest 5.10.2 中。降级到 5.10.1 修复它。
在 Gemfile 的测试组中添加这一行
gem 'minitest', '5.10.1'
然后运行以下命令
bundle update minitest
rails test
问题已解决
~/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。此错误遵循 rails 测试命令。 运行 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
事实证明,在我的 test/test_helper.rb 中,我需要一行缺少的代码。我在 "class ActiveSupport::TestCase".
之前添加了这个 Minitest::Reporters.use!
这让我的测试通过了,没有奇怪的参数错误。希望这对未来的人有所帮助!
这实际上是 rails 中的一个错误,由 minitest 更新到 5.10.2 显示 here and it has already been fixed here。
由于拉取请求只有 10 小时(在撰写本文时),它尚未发布,尽管它已经合并。
同时,您可以在 Gemfile 中指定:
gem 'minitest', '~> 5.10', '!= 5.10.2'
编辑
别忘了bundle update minitest
我也遇到了这个错误。我尝试使用投票最高的解决方案,但 rails 告诉我 bundle 已将 minitest 锁定到 5.10.2。相反,我只是做了一个 gem update minitest
和我的测试 运行 而没有出现奇怪的错误。
嘿,我正在做这个确切的教程并遵循了最佳解决方案,它解决了我的问题,特别是(对于我们这些菜鸟)我对我的 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
问题出在 minitest 5.10.2 中。降级到 5.10.1 修复它。
在 Gemfile 的测试组中添加这一行
gem 'minitest', '5.10.1'
然后运行以下命令
bundle update minitest
rails test
问题已解决