diff --git a/lib/rspec/rails/adapters.rb b/lib/rspec/rails/adapters.rb index 316724746..74bee1c85 100644 --- a/lib/rspec/rails/adapters.rb +++ b/lib/rspec/rails/adapters.rb @@ -184,11 +184,12 @@ def assertion_delegator # @private module TaggedLoggingAdapter - require 'active_support/testing/tagged_logging' - include ActiveSupport::Testing::TaggedLogging - - # Just a stub as TaggedLogging is calling `name` - def name + private + # Vendored from activesupport/lib/active_support/testing/tagged_logging.rb + # This implements the tagged_logger method where it is expected, but + # doesn't call `name` or set it up like Rails does. + def tagged_logger + @tagged_logger ||= (defined?(Rails.logger) && Rails.logger) end end end diff --git a/spec/rspec/rails/example/rails_example_group_spec.rb b/spec/rspec/rails/example/rails_example_group_spec.rb index b09c46606..2ec78353f 100644 --- a/spec/rspec/rails/example/rails_example_group_spec.rb +++ b/spec/rspec/rails/example/rails_example_group_spec.rb @@ -1,8 +1,7 @@ module RSpec::Rails RSpec.describe RailsExampleGroup do if ::Rails::VERSION::MAJOR >= 7 - it 'includes ActiveSupport::Testing::TaggedLogging' do - expect(described_class.include?(::ActiveSupport::Testing::TaggedLogging)).to eq(true) + it 'supports tagged_logger' do expect(described_class.private_instance_methods).to include(:tagged_logger) end end