LoginSignup
1
0

More than 3 years have passed since last update.

CircleCI+ActiveStorageでRspecがコケる(undefined method `upload' for nil:NilClass)

Posted at

表題の通り。

結論から。

原因

ActiveStorageの設定ファイルであるstorage.ymlに本番用の保存先(AWS S3)のSecretKeyなどをENV.fetchでセットしていたことが原因。
テスト用の設定しか使わないが、ymlを読んだ際に本番用環境変数もセットされていないとエラーになる。

エラーになるが、Rspecのテストでは
undefined method `upload' for nil:NilClass
と表示されてしまうのが鬼門。

対応策

config/environments/test.rbで設定している通り、本番用の設定は実際には使わない。
そのためCircleCIの設定で該当の環境変数についてダミーの値をいれておいたらPassした。

まとめ

Rspecにはエラーメッセージわかりにくい大賞を授与いたします。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0