Module: RSpec
- Defined in:
- lib/rspec/core.rb,
lib/rspec/core/drb.rb,
lib/rspec/core/dsl.rb,
lib/rspec/core/set.rb,
lib/rspec/core/hooks.rb,
lib/rspec/core/world.rb,
lib/rspec/core/runner.rb,
lib/rspec/core/example.rb,
lib/rspec/core/pending.rb,
lib/rspec/core/sandbox.rb,
lib/rspec/core/version.rb,
lib/rspec/core/flat_map.rb,
lib/rspec/core/metadata.rb,
lib/rspec/core/ordering.rb,
lib/rspec/core/profiler.rb,
lib/rspec/core/warnings.rb,
lib/rspec/core/rake_task.rb,
lib/rspec/core/invocations.rb,
lib/rspec/core/did_you_mean.rb,
lib/rspec/core/ruby_project.rb,
lib/rspec/core/shell_escape.rb,
lib/rspec/core/bisect/server.rb,
lib/rspec/core/configuration.rb,
lib/rspec/core/example_group.rb,
lib/rspec/core/filter_manager.rb,
lib/rspec/core/output_wrapper.rb,
lib/rspec/core/shared_context.rb,
lib/rspec/core/metadata_filter.rb,
lib/rspec/core/bisect/utilities.rb,
lib/rspec/core/memoized_helpers.rb,
lib/rspec/core/bisect/coordinator.rb,
lib/rspec/core/bisect/fork_runner.rb,
lib/rspec/core/formatters/helpers.rb,
lib/rspec/core/backtrace_formatter.rb,
lib/rspec/core/bisect/shell_runner.rb,
lib/rspec/core/formatters/protocol.rb,
lib/rspec/core/mocking_adapters/rr.rb,
lib/rspec/core/project_initializer.rb,
lib/rspec/core/bisect/shell_command.rb,
lib/rspec/core/shared_example_group.rb,
lib/rspec/core/configuration_options.rb,
lib/rspec/core/mocking_adapters/null.rb,
lib/rspec/core/mocking_adapters/mocha.rb,
lib/rspec/core/mocking_adapters/rspec.rb,
lib/rspec/core/formatters/html_printer.rb,
lib/rspec/core/bisect/example_minimizer.rb,
lib/rspec/core/example_status_persister.rb,
lib/rspec/core/formatters/console_codes.rb,
lib/rspec/core/formatters/base_formatter.rb,
lib/rspec/core/formatters/html_formatter.rb,
lib/rspec/core/formatters/json_formatter.rb,
lib/rspec/core/mocking_adapters/flexmock.rb,
lib/rspec/core/minitest_assertions_adapter.rb,
lib/rspec/core/formatters/profile_formatter.rb,
lib/rspec/core/formatters/snippet_extractor.rb,
lib/rspec/core/test_unit_assertions_adapter.rb,
lib/rspec/core/formatters/progress_formatter.rb,
lib/rspec/core/formatters/syntax_highlighter.rb,
lib/rspec/core/formatters/base_text_formatter.rb,
lib/rspec/core/formatters/exception_presenter.rb,
lib/rspec/core/formatters/bisect_drb_formatter.rb,
lib/rspec/core/formatters/base_bisect_formatter.rb,
lib/rspec/core/formatters/deprecation_formatter.rb,
lib/rspec/core/formatters/failure_list_formatter.rb,
lib/rspec/core/formatters/html_snippet_extractor.rb,
lib/rspec/core/formatters/documentation_formatter.rb,
lib/rspec/core/formatters/bisect_progress_formatter.rb,
lib/rspec/core/formatters/fallback_message_formatter.rb
Overview
This is borrowed (slightly modified) from Scott Taylor's project_path project: http://github.com/smtlaissezfaire/project_path
Defined Under Namespace
Modules: Core
Class Attribute Summary collapse
-
.configuration ⇒ void
Returns the global Configuration object.
-
.world ⇒ void
writeonly
private
Setters for shared global objects.
Class Method Summary collapse
-
.clear_examples ⇒ void
Used to ensure examples get reloaded between multiple runs in the same process and ensures user configuration is persisted.
-
.configure {|Configuration| ... } ⇒ void
Yields the global configuration to a block.
-
.current_example ⇒ void
The example being executed.
-
.current_example=(example) ⇒ void
private
Set the current example being executed.
-
.current_scope ⇒ Symbol
Get the current RSpec execution scope.
-
.current_scope=(scope) ⇒ void
private
Set the current scope rspec is executing in.
-
.reset ⇒ void
Used to ensure examples get reloaded and user configuration gets reset to defaults between multiple runs in the same process.
Class Attribute Details
.configuration ⇒ void
Returns the global Configuration object. While you can use this method to access the configuration, the more common convention is to use RSpec.configure.
85 86 87 |
# File 'lib/rspec/core.rb', line 85 def self.configuration @configuration ||= RSpec::Core::Configuration.new end |
.world=(value) ⇒ void
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.
Setters for shared global objects
49 50 51 |
# File 'lib/rspec/core.rb', line 49 def world=(value) @world = value end |
Class Method Details
.clear_examples ⇒ void
Used to ensure examples get reloaded between multiple runs in the same process and ensures user configuration is persisted.
Users must invoke this if they want to clear all examples but preserve current configuration when they use the runner multiple times within the same process.
70 71 72 73 74 75 |
# File 'lib/rspec/core.rb', line 70 def self.clear_examples world.reset configuration.reset_reporter configuration.start_time = ::RSpec::Core::Time.now configuration.reset_filters end |
.configure {|Configuration| ... } ⇒ void
Yields the global configuration to a block.
97 98 99 |
# File 'lib/rspec/core.rb', line 97 def self.configure yield configuration if block_given? end |
.current_example ⇒ void
The example being executed.
The primary audience for this method is library authors who need access to the example currently being executed and also want to support all versions of RSpec 2 and 3.
122 123 124 |
# File 'lib/rspec/core.rb', line 122 def self.current_example RSpec::Support.thread_local_data[:current_example] end |
.current_example=(example) ⇒ void
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.
Set the current example being executed.
128 129 130 |
# File 'lib/rspec/core.rb', line 128 def self.current_example=(example) RSpec::Support.thread_local_data[:current_example] = example end |
.current_scope ⇒ Symbol
Get the current RSpec execution scope
Returns (in order of lifecycle):
:suite
as an initial value, this is outside of the test lifecycle.:before_suite_hook
duringbefore(:suite)
hooks.:before_context_hook
duringbefore(:context)
hooks.:before_example_hook
duringbefore(:example)
hooks andaround(:example)
beforeexample.run
.:example
within the example run.:after_example_hook
duringafter(:example)
hooks andaround(:example)
afterexample.run
.:after_context_hook
duringafter(:context)
hooks.:after_suite_hook
duringafter(:suite)
hooks.:suite
as a final value, again this is outside of the test lifecycle.
Reminder, :context
hooks have :all
alias and :example
hooks have :each
alias.
154 155 156 |
# File 'lib/rspec/core.rb', line 154 def self.current_scope RSpec::Support.thread_local_data[:current_scope] end |
.current_scope=(scope) ⇒ void
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.
Set the current scope rspec is executing in
134 135 136 |
# File 'lib/rspec/core.rb', line 134 def self.current_scope=(scope) RSpec::Support.thread_local_data[:current_scope] = scope end |
.reset ⇒ void
Used to ensure examples get reloaded and user configuration gets reset to defaults between multiple runs in the same process.
Users must invoke this if they want to have the configuration reset when they use the runner multiple times within the same process. Users must deal themselves with re-configuration of RSpec before run.
58 59 60 61 62 |
# File 'lib/rspec/core.rb', line 58 def self.reset RSpec::ExampleGroups.remove_all_constants @world = nil @configuration = nil end |