Class: RSpec::Mocks::Configuration
- Defined in:
- lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-mocks-3.12.2/lib/rspec/mocks/configuration.rb
Overview
Provides configuration options for rspec-mocks.
Instance Attribute Summary collapse
-
#allow_message_expectations_on_nil ⇒ Object
Sets whether RSpec will warn, ignore, or fail a test when expectations are set on nil.
-
#color ⇒ Object
writeonly
Indicates whether or not diffs should be colored.
-
#temporarily_suppress_partial_double_verification ⇒ Object
Used to track wether we are temporarily suppressing verifying partial doubles with ‘without_partial_double_verification { … }`.
-
#transfer_nested_constants ⇒ Object
writeonly
Sets the default for the ‘transfer_nested_constants` option when stubbing constants.
-
#verify_doubled_constant_names ⇒ Object
writeonly
When this is set to true, an error will be raised when ‘instance_double` or `class_double` is given the name of an undefined constant.
-
#yield_receiver_to_any_instance_implementation_blocks ⇒ Object
writeonly
Sets whether or not RSpec will yield the receiving instance of a message to blocks that are used for any_instance stub implementations.
Instance Method Summary collapse
-
#add_stub_and_should_receive_to(*modules) ⇒ Object
Adds ‘stub` and `should_receive` to the given modules or classes.
-
#before_verifying_doubles(&block) ⇒ Object
(also: #when_declaring_verifying_double)
Provides a way to perform customisations when verifying doubles.
-
#color? ⇒ Boolean
Indicates whether or not diffs should be colored.
-
#initialize ⇒ Configuration
constructor
A new instance of Configuration.
-
#patch_marshal_to_support_partial_doubles=(val) ⇒ Object
Monkey-patch ‘Marshal.dump` to enable dumping of mocked or stubbed objects.
-
#reset_syntaxes_to_default ⇒ Object
private
Resets the configured syntax to the default.
-
#syntax ⇒ Object
Returns an array with a list of syntaxes that are enabled.
-
#syntax=(*values) ⇒ Object
Provides the ability to set either ‘expect`, `should` or both syntaxes.
- #transfer_nested_constants? ⇒ Boolean
- #verify_doubled_constant_names? ⇒ Boolean
-
#verify_partial_doubles=(val) ⇒ Object
When set to true, partial mocks will be verified the same as object doubles.
- #verify_partial_doubles? ⇒ Boolean
-
#verifying_double_callbacks ⇒ Object
private
Returns an array of blocks to call when verifying doubles.
- #yield_receiver_to_any_instance_implementation_blocks? ⇒ Boolean
Constructor Details
#initialize ⇒ Configuration
Returns a new instance of Configuration.
5 6 7 8 9 10 11 12 13 |
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-mocks-3.12.2/lib/rspec/mocks/configuration.rb', line 5 def initialize @allow_message_expectations_on_nil = nil @yield_receiver_to_any_instance_implementation_blocks = true @verify_doubled_constant_names = false @transfer_nested_constants = false @verify_partial_doubles = false @temporarily_suppress_partial_double_verification = false @color = false end |
Instance Attribute Details
#allow_message_expectations_on_nil ⇒ Object
Sets whether RSpec will warn, ignore, or fail a test when expectations are set on nil. By default, when this flag is not set, warning messages are issued when expectations are set on nil. This is to prevent false-positives and to catch potential bugs early on. When set to ‘true`, warning messages are suppressed. When set to `false`, it will raise an error.
29 30 31 |
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-mocks-3.12.2/lib/rspec/mocks/configuration.rb', line 29 def @allow_message_expectations_on_nil end |
#color=(value) ⇒ Object (writeonly)
Indicates whether or not diffs should be colored. Delegates to rspec-core’s color option if rspec-core is loaded; otherwise you can set it here.
171 172 173 |
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-mocks-3.12.2/lib/rspec/mocks/configuration.rb', line 171 def color=(value) @color = value end |
#temporarily_suppress_partial_double_verification ⇒ Object
Used to track wether we are temporarily suppressing verifying partial doubles with ‘without_partial_double_verification { … }`
161 162 163 |
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-mocks-3.12.2/lib/rspec/mocks/configuration.rb', line 161 def temporarily_suppress_partial_double_verification @temporarily_suppress_partial_double_verification end |
#transfer_nested_constants=(value) ⇒ Object (writeonly)
Sets the default for the ‘transfer_nested_constants` option when stubbing constants.
145 146 147 |
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-mocks-3.12.2/lib/rspec/mocks/configuration.rb', line 145 def transfer_nested_constants=(value) @transfer_nested_constants = value end |
#verify_doubled_constant_names=(value) ⇒ Object (writeonly)
When this is set to true, an error will be raised when ‘instance_double` or `class_double` is given the name of an undefined constant. You probably only want to set this when running your entire test suite, with all production code loaded. Setting this for an isolated unit test will prevent you from being able to isolate it!
120 121 122 |
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-mocks-3.12.2/lib/rspec/mocks/configuration.rb', line 120 def verify_doubled_constant_names=(value) @verify_doubled_constant_names = value end |
#yield_receiver_to_any_instance_implementation_blocks=(value) ⇒ Object (writeonly)
Sets whether or not RSpec will yield the receiving instance of a message to blocks that are used for any_instance stub implementations. When set, the first yielded argument will be the receiving instance. Defaults to ‘true`.
46 47 48 |
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-mocks-3.12.2/lib/rspec/mocks/configuration.rb', line 46 def yield_receiver_to_any_instance_implementation_blocks=(value) @yield_receiver_to_any_instance_implementation_blocks = value end |
Instance Method Details
#add_stub_and_should_receive_to(*modules) ⇒ Object
Adds ‘stub` and `should_receive` to the given modules or classes. This is usually only necessary if you application uses some proxy classes that “strip themselves down” to a bare minimum set of methods and remove `stub` and `should_receive` in the process.
62 63 64 65 66 |
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-mocks-3.12.2/lib/rspec/mocks/configuration.rb', line 62 def add_stub_and_should_receive_to(*modules) modules.each do |mod| Syntax.enable_should(mod) end end |
#before_verifying_doubles(&block) ⇒ Object Also known as: when_declaring_verifying_double
Provides a way to perform customisations when verifying doubles.
128 129 130 |
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-mocks-3.12.2/lib/rspec/mocks/configuration.rb', line 128 def (&block) << block end |
#color? ⇒ Boolean
Indicates whether or not diffs should be colored. Delegates to rspec-core’s color option if rspec-core is loaded; otherwise you can set it here.
176 177 178 |
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-mocks-3.12.2/lib/rspec/mocks/configuration.rb', line 176 def color? ::RSpec.configuration.color_enabled? end |
#patch_marshal_to_support_partial_doubles=(val) ⇒ Object
Monkey-patch ‘Marshal.dump` to enable dumping of mocked or stubbed objects. By default this will not work since RSpec mocks works by adding singleton methods that cannot be serialized. This patch removes these singleton methods before serialization. Setting to falsey removes the patch.
This method is idempotent.
188 189 190 191 192 193 194 |
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-mocks-3.12.2/lib/rspec/mocks/configuration.rb', line 188 def patch_marshal_to_support_partial_doubles=(val) if val RSpec::Mocks::MarshalExtension.patch! else RSpec::Mocks::MarshalExtension.unpatch! end end |
#reset_syntaxes_to_default ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Resets the configured syntax to the default.
198 199 200 201 |
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-mocks-3.12.2/lib/rspec/mocks/configuration.rb', line 198 def reset_syntaxes_to_default self.syntax = [:should, :expect] RSpec::Mocks::Syntax.warn_about_should! end |
#syntax ⇒ Object
Returns an array with a list of syntaxes that are enabled.
104 105 106 107 108 109 |
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-mocks-3.12.2/lib/rspec/mocks/configuration.rb', line 104 def syntax syntaxes = [] syntaxes << :should if Syntax.should_enabled? syntaxes << :expect if Syntax.expect_enabled? syntaxes end |
#syntax=(*values) ⇒ Object
Provides the ability to set either ‘expect`, `should` or both syntaxes. RSpec uses `expect` syntax by default. This is needed if you want to explicitly enable `should` syntax and/or explicitly disable `expect` syntax.
end
81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-mocks-3.12.2/lib/rspec/mocks/configuration.rb', line 81 def syntax=(*values) syntaxes = values.flatten if syntaxes.include?(:expect) Syntax.enable_expect else Syntax.disable_expect end if syntaxes.include?(:should) Syntax.enable_should else Syntax.disable_should end end |
#transfer_nested_constants? ⇒ Boolean
139 140 141 |
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-mocks-3.12.2/lib/rspec/mocks/configuration.rb', line 139 def transfer_nested_constants? !!@transfer_nested_constants end |
#verify_doubled_constant_names? ⇒ Boolean
111 112 113 |
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-mocks-3.12.2/lib/rspec/mocks/configuration.rb', line 111 def verify_doubled_constant_names? !!@verify_doubled_constant_names end |
#verify_partial_doubles=(val) ⇒ Object
When set to true, partial mocks will be verified the same as object doubles. Any stubs will have their arguments checked against the original method, and methods that do not exist cannot be stubbed.
150 151 152 |
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-mocks-3.12.2/lib/rspec/mocks/configuration.rb', line 150 def verify_partial_doubles=(val) @verify_partial_doubles = !!val end |
#verify_partial_doubles? ⇒ Boolean
154 155 156 |
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-mocks-3.12.2/lib/rspec/mocks/configuration.rb', line 154 def verify_partial_doubles? @verify_partial_doubles end |
#verifying_double_callbacks ⇒ Object
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns an array of blocks to call when verifying doubles
135 136 137 |
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-mocks-3.12.2/lib/rspec/mocks/configuration.rb', line 135 def @verifying_double_callbacks ||= [] end |
#yield_receiver_to_any_instance_implementation_blocks? ⇒ Boolean
31 32 33 |
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-mocks-3.12.2/lib/rspec/mocks/configuration.rb', line 31 def yield_receiver_to_any_instance_implementation_blocks? @yield_receiver_to_any_instance_implementation_blocks end |