Techioz Blog

Database_cleaner を使用した Docker 上の Rspec でリモート URL エラーが発生する: RemoteDatabaseUrl

概要

Docker で作業していて、bundle exec rspec ./spec/services/something/something_spec.rb を実行しようとすると、このエラーが発生します。

DatabaseCleaner::Safeguard::Error::RemoteDatabaseUrl:
ENV['DATABASE_URL'] is set to a remote URL

いくつかのことを試しましたが、これまでのところ何も役に立ちませんでした

解決策

私の最初の取り組みは、spec/rails_helper.rb での DatabaseCleaner の使用を一時的にコメントアウトして、開発環境でローカルにテストを実行できるようにすることでしたが、それはうまくいきませんでした。

それから、しばらく読んだ後、より良い解決策を見つけたので、これを試しました

  config.before(:suite) do
    DatabaseCleaner.allow_remote_database_url = true
  end

そしてそれはうまくいきました。お役に立てば幸いです!