Мой метод выглядит так:
def some_method(....)
user = User.where("....").first
if !user.nil?
if ..
user.delete
elsif
user.update_attributes(...)
else
new_user = User.new(...)
new_user.save!
end
end
Как видите, внутри этого метода создаются экземпляры user и new_user.
Можно ли заглушить и посмеяться (ожидания) для этих объектов при тестировании метода?
Я пытаюсь это:
it "should ...." do
d = double("user double")
d.should_receive(:save!).once
res = User.some_method(....)
end
Но я получаю сообщение об ошибке, ожидаемое 1 раз и полученное 0 раз.
Я правильно делаю? (очевидно нет, возможно ли это проверить, так как я не могу передать эти заглушки / макеты тестируемому методу)