У меня есть действие контроллера Rails для тестирования. В этом действии метод User.can? вызывается несколько раз с разными параметрами. В одном из тестов для этого я хочу убедиться, что User.can? ('Вывести') вызывается. Но мне наплевать на вызовы User.can? с другими параметрами.
def action_to_be_tested
...
@user.can?('withdraw')
...
@user.can?('deposit')
...
end
Я попробовал ниже в тесте:
User.any_instance.expects(:can?).with('withdraw').at_least_once.returns(true)
Но проверка завершилась неудачно с сообщением, указывающим на неожиданный вызов User.can? ('Deposit').
Если я добавлю еще одно ожидание с параметром deposit, тест пройден. Но мне интересно, есть ли какие-нибудь способы, чтобы я мог просто сосредоточиться на вызове с параметром 'изъятия' (потому что другие вызовы не имеют отношения к этому тестовому случаю).