環境
背景
Rspecのテストで、今まではController specsだったが、今ではRequest specsが推奨となっている。
いわゆる type: :request
というやつ
で、Request specsでHeaderをカスタマイズした上でテストをしたい。
方法
ググるとみんないろんなやり方をしてたが、Rspec3以降は以下が一番標準的なやり方っぽい。
例えば以下はUser-Agentをmyuseragentに書き換えてアクセスする例
context "ユーザーエージェントを〜でアクセスしたとき" do before do headers = { "user-agent" => "myuseragent", } get root_path, params: {}, headers: headers end end
ちなみにGETリクエストのparamsは普通のGETパラメータになる