I'm trying to use Minitest mocks to verify a call to a method that expects keyword arguments; but, I'm getting this error:
ArgumentError: wrong number of arguments (given 4, expected 2..3)
This is my complete test:
test ".toggle updates the category" do
mock = Minitest::Mock.new
mock.expect :update!, nil, [], {collapsed: true}
CategoryAnalyzer.toggle_category(mock, true)
mock.verify
end
This is the method under test:
def self.toggle_category(category, collapsed)
category.update!(collapsed: collapsed)
end
I see from minitest - mock - expect keyword arguments that Minitest should accept keyword arguments. Is my test set up wrong? Do I somehow have an old version of Minitest? (My Gemfile.lock
lists minitest (5.18.0)
) Any idea of what else I should check?