Rails project, while testing with capybara: ArgumentError: Unused parameters passed to Capybara::Queries::SelectorQuery : [4]

Rails project, while testing with capybara: ArgumentError: Unused parameters passed to Capybara::Queries::SelectorQuery : [4]

测试有 4 个输入的表单不起作用,我正在复制粘贴文档中的行:

assert_select "form input", 4

有什么想法吗?

require "application_system_test_case"

class QuestionsTest < ApplicationSystemTestCase
  test "visiting /ask renders the form" do
    visit ask_url

    assert_selector "p", text: "Ask your coach anything"

    assert_select "form input", 4
  end
end

完整的错误信息是:

Error:
QuestionsTest#test_visiting_/ask_renders_the_form:
ArgumentError: Unused parameters passed to Capybara::Queries::SelectorQuery : [4]
    test/system/questions_test.rb:9:in `block in <class:QuestionsTest>'

如有任何帮助,我们将不胜感激。

在阅读他们的指南后,不知道为什么我的问题根据 Whosebug 是错误的。

您从文档中复制的 assert_select 方法是 Rails 方法,已从 Rails 移出 rails-dom-testing gem Rails 4.2。但是,您实际调用的 assert_select 方法是 Capybara 提供的方法 - https://www.rubydoc.info/gems/capybara/Capybara/Minitest/Assertions#assert_select-instance_method - 它处理