インスタンス変数のメソッドをstubにしたい
インスタンス変数のメソッドをstubにしたい
テスト対象のコード内でHoge.newのように生成されるインスタンスの挙動を、実際のクラスを使わずに差し替えたいときに使う。instance_doubleで型チェック付きのダブルを作り、Hoge.newの戻り値をそのダブルに固定することで、以降のhoge_instance.say呼び出しをスタブできる。
let(:hoge_instance) { instance_double(Hoge) }
before do
allow(Hoge).to receive(:new).and_return(hoge_instance)
allow(hoge_instance).to receive(:say).and_return("night!")
end