@@ -30,17 +30,16 @@ def enabled?
3030 @@detected_for_method [ @recording_method ] = enabled
3131
3232 if @recording_method
33- if enabled
33+ if enabled && enabled_by_app_env?
3434 warn AppMap ::Util . color ( "AppMap #{ @recording_method . nil? ? '' : "#{ @recording_method } " } recording is enabled because #{ message } " , :magenta )
35- # Inform the user that legacy APPMAP=true isn't required any more
3635 end
3736 end
3837
3938 enabled
4039 end
4140
4241 def detect_enabled
43- detection_functions = %i[ globally_disabled? recording_method_disabled? globally_enabled ? recording_method_enabled? enabled_by_app_env ?]
42+ detection_functions = %i[ globally_disabled? recording_method_disabled? enabled_by_app_env ? recording_method_enabled? globally_enabled ?]
4443
4544 message , enabled = [ ]
4645 while enabled . nil? && !detection_functions . empty?
@@ -57,7 +56,7 @@ def detect_enabled
5756
5857 def enabled_by_app_env?
5958 env_name , app_env = detect_app_env
60- if %i[ rspec minitest ] . member? ( @recording_method )
59+ if %i[ rspec minitest cucumber ] . member? ( @recording_method )
6160 return [ "#{ env_name } is '#{ app_env } '" , true ] if app_env == 'test'
6261 end
6362
@@ -79,7 +78,10 @@ def detect_app_env
7978 end
8079
8180 def globally_enabled?
82- [ 'APPMAP=true' , true ] if @recording_method . nil? && [ 'APPMAP' ] == 'true'
81+ # Don't auto-enable request recording in the 'test' environment, because users probably don't want
82+ # AppMaps of both test cases and requests. Requests recording can always be enabled by APPMAP_RECORD_REQUESTS=true.
83+ requests_recording_in_test = -> ( ) { [ :requests ] . member? ( @recording_method ) && detect_app_env == 'test' }
84+ [ 'APPMAP=true' , true ] if ENV [ 'APPMAP' ] == 'true' && !requests_recording_in_test . ( )
8385 end
8486
8587 def globally_disabled?
0 commit comments