こんにちは!kossyです!
さて、今回はRspecでテストを実行する際に、RuntimeError: Circular dependency detected while autoloading constantが出た場合の対処法をブログに残してみたいと思います。
環境
Ruby 2.6.5
Rails 5.1.7
Docker for Desktop
原因
Rspecを複数スレッドで回していると、アプリケーションサーバーとテストのスレッドで同時に同じ定数を参照して読み込もうとすることがあります。
そういった場合、以下のようなエラーが出ることになります。
RuntimeError: Circular dependency detected while autoloading constant User
この場合、specファイルの先頭に
require_dependency 'user'
のように、明示的に依存関係を記載することで解決する場合があります。
勉強になりました。