お世話になっております。
下記の現象で知見がある方がいらっしゃいましたらご教示お願いします。
#起きているエラー
: An error occurred while loading rails_helper. Failure/Error: config.include TestHelper NameError: uninitialized constant TestHelper :
TestHelper
を使用してテストをRSpecを実行したいのですが初期化されていない
とのエラーが発生します。
#今回のエラーに至るまで
rails_helper.rb
でtest_helper.rb
へ紐付けの記述を行いました。
#rails_helper.rb Dir[Rails.root.join('spec', 'support', '**', '*.rb')].each { |f| require f } : RSpec.configure do |config| : config.include TestHelper :
#test_helper.rb module TestHelper def is_logged_in? !session[:user_id].nil? end end
#試したこと
config.include
の記載の仕方を変えましたがエラーは直りませんでした。
#rails_helper.rb config.include TestHelper #修正前 ↓ config.include(TestHelper) #修正後
#関連ファイル
###rails_helper.rb
require 'spec_helper' ENV['RAILS_ENV'] ||= 'test' require File.expand_path('../config/environment', __dir__) abort("The Rails environment is running in production mode!") if Rails.env.production? require 'rspec/rails' Dir[Rails.root.join('spec', 'support', '**', '*.rb')].each { |f| require f } begin ActiveRecord::Migration.maintain_test_schema! rescue ActiveRecord::PendingMigrationError => e puts e.to_s.strip exit 1 end RSpec.configure do |config| config.include FactoryBot::Syntax::Methods config.include TestHelper config.fixture_path = "#{::Rails.root}/spec/fixtures" config.use_transactional_fixtures = true config.infer_spec_type_from_file_location! config.filter_rails_from_backtrace! end Shoulda::Matchers.configure do |config| config.integrate do |with| with.test_framework :rspec with.library :rails end end
###test_helper.rb
module TestHelper def is_logged_in? !session[:user_id].nil? end end
あなたの回答
tips
プレビュー