Module: RSpec::Core::Sandbox
- Defined in:
- lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-core-3.12.0/lib/rspec/core/sandbox.rb
Overview
Note:
This module is not normally available. You must require ‘rspec/core/sandbox` to load it.
A sandbox isolates the enclosed code into an environment that looks ‘new’ meaning globally accessed objects are reset for the duration of the sandbox.
Class Method Summary collapse
-
.sandboxed ⇒ Object
Execute a provided block with RSpec global objects (configuration, world) reset.
Class Method Details
.sandboxed ⇒ Object
Execute a provided block with RSpec global objects (configuration, world) reset. This is used to test RSpec with RSpec.
When calling this the configuration is passed into the provided block. Use this to set custom configs for your sandboxed examples.
“‘ Sandbox.sandboxed do |config|
config.before(:context) { RSpec.current_example = nil }
end “‘
21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/rspec-core-3.12.0/lib/rspec/core/sandbox.rb', line 21 def self.sandboxed orig_config = RSpec.configuration orig_world = RSpec.world orig_example = RSpec.current_example RSpec.configuration = RSpec::Core::Configuration.new RSpec.world = RSpec::Core::World.new(RSpec.configuration) yield RSpec.configuration ensure RSpec.configuration = orig_config RSpec.world = orig_world RSpec.current_example = orig_example end |