メソッド呼び出し回数をテストしたいけど、モックにしてしまうのではなくて、実際にメソッドも呼び出してその結果も確認したいー!
ということがあり、色々調べたらブロックで呼び出しが出来ました。
before do
org_method = xxx_instance.method(:xxx_method)
allow(xxx_instance).to receive(:xxx_method) { |*args| org_method.call(*args) }
end
it "" do
subject
expect(xxx_instance).to have_received(:xxx_method).once
# expect ~
end
ありがとうブロック