動かざることバグの如し

近づきたいよ 君の理想に

RspecでリモートIPアドレスを偽装してテストする

環境

やりたいこと

IP制限のテストがしたくなった。が、当然request.remote_ipはローカルでテストしている以上ずっと「127.0.0.1」のまま。

外部にデプロイしてそこでテスト〜なんて当たり前だができないので、なんとか別のIPアドレスを振る舞えないか調べてたらあった。

allow_any_instance_of(ActionDispatch::Request).to receive(:remote_ip).and_return('8.8.8.8')

これで8.8.8.8からのアクセスのようになる。

なんかもっといい方法ありそうだけど。。