再試行ブロックがあります
def my_method
app_instances = []
attempts = 0
begin
app_instances = fetch_and_rescan_app_instances(page_n, policy_id, policy_cpath)
rescue Exception
attempts += 1
retry unless attempts > 2
raise Exception
end
page_n += 1
end
ネットワークにfetch_and_rescan_app_instances
アクセスするため、例外をスローできます。
最初に例外をスローし、2回目に呼び出されたときに例外をスローしないという、rspecテストを作成したいので、2回目に例外をスローしない場合、my_methodが例外をスローしないかどうかをテストできます。例外。
私はできることを知ってstub(:fetch_and_rescan_app_instances).and_return(1,3)
おり、最初は1を返し、2回目は3を返しますが、最初に例外をスローして2回目に何かを返す方法がわかりません。