RSpec:不特定のインスタンスの処理をモックする
不特定のインスタンスの処理をモックする
any_instance_of を設定すれば良い
レガシーコード向けの機能
積極的な使用は推奨されない
RSpec的にもバグが多く見つかる機能であるため、不用意に多用するとテストのメンテナンス性を下げる
順当には、new をモックしたり、テスト対象に適切にモックを注入できる設計であることが望ましい
code:rb
it do
# Something のインスタンスメソッド something をモックして 'something' を return することを設定する
allow_any_instance_of(Something).to receive(:something).and_return('something')
# Something のインスタンスメソッド something が1度だけ実行され、something を return することを期待する
expect_any_instance_of(Something).to receive(:something).once.and_return('something')
# Something を操作する何らかの処理を実行する
# ※ expect_any_instance_of よりも後に実行することがポイント
do_something_else
end