目標(想定読者)

発生した問題

Basic認証をapplication_controller.rbに設定した

これにより全APIを叩く際に、Basic認証での検証が行われるようになりセキュリティアップ

ただしテストでも当然Basic認証が行われるため、テスト環境でBasic認証を突破する必要がでてきた

そこでBasic認証テストを作成したが、うまく動作せずエラーが発生した

解決方法

Basic認証とは..?

自分がBaisic認証テストを作成した場所はspec/system/authentication_spec.rb だった

しかしRSpec はディレクトリ構成に基づいてテストタイプを自動的に推測するようで、spec/system配下に置かれている場合はtype: :systemとして扱われてしまうらしい

自分のテストコードは書き出しがRSpec.describe "Basic認証", type: :request do となっておりrequest テストと定義していたので、動かなかったようだ

spec/requests 配下に移動させることで解決できそうだと分かった