事象
RSpecでテストしようとしたところ、以下のエラーが発生。
$ rspec An error occurred while loading ./spec/models/user_spec.rb. Failure/Error: require File.expand_path('../config/environment', __dir__) NoMethodError: undefined method `active_storage' for #<Rails::Application::Configuration:0x00007ffa146729e0>
原因
使用していないActive Strorageを読み込もうとしているため。
当該アプリではActive Storageは使わないため、config/application.rbを以下のように変更している。
当該アプリではActive Storageは使わないため、config/application.rbを以下のように変更している。
#require 'rails/all' # 既存の設定をコメントアウト require "rails" # Pick the frameworks you want: require "active_model/railtie" require "active_job/railtie" require "active_record/railtie" # require "active_storage/engine" # Active Storageの読み込みをコメントアウト require "action_controller/railtie" require "action_mailer/railtie" require "action_view/railtie" require "action_cable/engine" require "sprockets/railtie" require "rails/test_unit/railtie"
対処
config/environment/test.rbを以下のように変更する。
# Store uploaded files on the local file system in a temporary directory #config.active_storage.service = :test # コメントアウト
もしくは、config/application.rbの設定をもとに戻す。