У меня есть действие контроллера Rails для тестирования. В этом действии метод User.can? вызывается несколько раз. с разными параметрами. В одном из тестов для него я хочу убедиться, что User.can?('withdraw') вызывается. Но мне не нужны вызовы 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'). Если я добавлю еще одно ожидание с параметром «депозит», тест пройден. Но мне интересно, есть ли какие-либо способы, чтобы я мог просто сосредоточиться на вызове с параметром «снять» (поскольку другие вызовы не имеют отношения к этому тестовому примеру).