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