表題の通り。
結論から。
原因
ActiveStorageの設定ファイルであるstorage.ymlに本番用の保存先(AWS S3)のSecretKeyなどをENV.fetchでセットしていたことが原因。
テスト用の設定しか使わないが、ymlを読んだ際に本番用環境変数もセットされていないとエラーになる。
エラーになるが、Rspecのテストでは
undefined method `upload' for nil:NilClass
と表示されてしまうのが鬼門。
対応策
config/environments/test.rbで設定している通り、本番用の設定は実際には使わない。
そのためCircleCIの設定で該当の環境変数についてダミーの値をいれておいたらPassした。
まとめ
Rspecにはエラーメッセージわかりにくい大賞を授与いたします。