Class: RSpec::Mocks::Configuration
- Inherits:
-
Object
- Object
- RSpec::Mocks::Configuration
- Defined in:
- lib/rspec/mocks/configuration.rb
Overview
Provides configuration options for rspec-mocks.
Instance Method Summary (collapse)
-
- (Object) add_stub_and_should_receive_to(*modules)
Adds
stub
andshould_receive
to the given modules or classes. -
- (Configuration) initialize
constructor
A new instance of Configuration.
-
- (Object) patch_marshal_to_support_partial_doubles=(val)
Monkey-patch
Marshal.dump
to enable dumping of mocked or stubbed objects. -
- (Object) reset_syntaxes_to_default
private
Resets the configured syntax to the default.
-
- (Object) syntax
Returns an array with a list of syntaxes that are enabled.
-
- (Object) syntax=(*values)
Provides the ability to set either
expect
,should
or both syntaxes. -
- (Object) transfer_nested_constants=(val)
Sets the default for the
transfer_nested_constants
option when stubbing constants. - - (Boolean) transfer_nested_constants?
-
- (Object) verify_doubled_constant_names=(val)
When this is set to true, an error will be raised when
instance_double
orclass_double
is given the name of an undefined constant. - - (Boolean) verify_doubled_constant_names?
-
- (Object) verify_partial_doubles=(val)
When set to true, partial mocks will be verified the same as object doubles.
- - (Boolean) verify_partial_doubles?
-
- (Object) yield_receiver_to_any_instance_implementation_blocks=(arg)
Sets whether or not RSpec will yield the receiving instance of a message to blocks that are used for any_instance stub implementations.
- - (Boolean) yield_receiver_to_any_instance_implementation_blocks?
Constructor Details
- (Configuration) initialize
Returns a new instance of Configuration
6 7 8 9 10 11 |
# File 'lib/rspec/mocks/configuration.rb', line 6 def initialize @yield_receiver_to_any_instance_implementation_blocks = true @verify_doubled_constant_names = false @transfer_nested_constants = false @verify_partial_doubles = false end |
Instance Method Details
- (Object) add_stub_and_should_receive_to(*modules)
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.
48 49 50 51 52 |
# File 'lib/rspec/mocks/configuration.rb', line 48 def add_stub_and_should_receive_to(*modules) modules.each do |mod| Syntax.enable_should(mod) end end |
- (Object) patch_marshal_to_support_partial_doubles=(val)
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.
140 141 142 143 144 145 146 |
# File 'lib/rspec/mocks/configuration.rb', line 140 def patch_marshal_to_support_partial_doubles=(val) if val RSpec::Mocks::MarshalExtension.patch! else RSpec::Mocks::MarshalExtension.unpatch! end end |
- (Object) reset_syntaxes_to_default
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.
150 151 152 153 |
# File 'lib/rspec/mocks/configuration.rb', line 150 def reset_syntaxes_to_default self.syntax = [:should, :expect] RSpec::Mocks::Syntax.warn_about_should! end |
- (Object) syntax
Returns an array with a list of syntaxes that are enabled.
92 93 94 95 96 97 |
# File 'lib/rspec/mocks/configuration.rb', line 92 def syntax syntaxes = [] syntaxes << :should if Syntax.should_enabled? syntaxes << :expect if Syntax.expect_enabled? syntaxes end |
- (Object) syntax=(*values)
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
68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'lib/rspec/mocks/configuration.rb', line 68 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 |
- (Object) transfer_nested_constants=(val)
Sets the default for the transfer_nested_constants
option when
stubbing constants.
118 119 120 |
# File 'lib/rspec/mocks/configuration.rb', line 118 def transfer_nested_constants=(val) @transfer_nested_constants = val end |
- (Boolean) transfer_nested_constants?
112 113 114 |
# File 'lib/rspec/mocks/configuration.rb', line 112 def transfer_nested_constants? !!@transfer_nested_constants end |
- (Object) verify_doubled_constant_names=(val)
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!
108 109 110 |
# File 'lib/rspec/mocks/configuration.rb', line 108 def verify_doubled_constant_names=(val) @verify_doubled_constant_names = val end |
- (Boolean) verify_doubled_constant_names?
99 100 101 |
# File 'lib/rspec/mocks/configuration.rb', line 99 def verify_doubled_constant_names? !!@verify_doubled_constant_names end |
- (Object) verify_partial_doubles=(val)
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.
125 126 127 |
# File 'lib/rspec/mocks/configuration.rb', line 125 def verify_partial_doubles=(val) @verify_partial_doubles = !!val end |
- (Boolean) verify_partial_doubles?
129 130 131 |
# File 'lib/rspec/mocks/configuration.rb', line 129 def verify_partial_doubles? @verify_partial_doubles end |
- (Object) yield_receiver_to_any_instance_implementation_blocks=(arg)
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
.
29 30 31 |
# File 'lib/rspec/mocks/configuration.rb', line 29 def yield_receiver_to_any_instance_implementation_blocks=(arg) @yield_receiver_to_any_instance_implementation_blocks = arg end |
- (Boolean) yield_receiver_to_any_instance_implementation_blocks?
13 14 15 |
# File 'lib/rspec/mocks/configuration.rb', line 13 def yield_receiver_to_any_instance_implementation_blocks? @yield_receiver_to_any_instance_implementation_blocks end |