Class: Scope::Context
- Inherits:
-
Object
- Object
- Scope::Context
- Defined in:
- lib/scope.rb
Overview
A context keeps track of the tests defined inside of it as well as its setup and teardown blocks.
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#parent_context ⇒ Object
readonly
Returns the value of attribute parent_context.
-
#setup ⇒ Object
Returns the value of attribute setup.
-
#setup_once ⇒ Object
Returns the value of attribute setup_once.
-
#teardown ⇒ Object
Returns the value of attribute teardown.
-
#teardown_once ⇒ Object
Returns the value of attribute teardown_once.
-
#tests_and_subcontexts ⇒ Object
We keep both tests and subcontexts in the same array because we need to know what the very last thing to execute inside of this context is, for the purpose of calling teardown_once at the correct time.
Instance Method Summary collapse
-
#initialize(name, parent_context = nil) ⇒ Context
constructor
A new instance of Context.
-
#run_setup_and_teardown(test_case_instance, test_name, &runner_proc) ⇒ Object
Runs the setup work for this context and any parent contexts, yields to the block (which should invoke the actual test method), and then completes the teardown work.
Constructor Details
#initialize(name, parent_context = nil) ⇒ Context
Returns a new instance of Context.
121 122 123 124 125 |
# File 'lib/scope.rb', line 121 def initialize(name, parent_context = nil) @name = name @parent_context = parent_context self.tests_and_subcontexts = [] end |
Instance Attribute Details
#name ⇒ Object (readonly)
Returns the value of attribute name.
115 116 117 |
# File 'lib/scope.rb', line 115 def name @name end |
#parent_context ⇒ Object (readonly)
Returns the value of attribute parent_context.
115 116 117 |
# File 'lib/scope.rb', line 115 def parent_context @parent_context end |
#setup ⇒ Object
Returns the value of attribute setup.
119 120 121 |
# File 'lib/scope.rb', line 119 def setup @setup end |
#setup_once ⇒ Object
Returns the value of attribute setup_once.
119 120 121 |
# File 'lib/scope.rb', line 119 def setup_once @setup_once end |
#teardown ⇒ Object
Returns the value of attribute teardown.
119 120 121 |
# File 'lib/scope.rb', line 119 def teardown @teardown end |
#teardown_once ⇒ Object
Returns the value of attribute teardown_once.
119 120 121 |
# File 'lib/scope.rb', line 119 def teardown_once @teardown_once end |
#tests_and_subcontexts ⇒ Object
We keep both tests and subcontexts in the same array because we need to know what the very last thing to execute inside of this context is, for the purpose of calling teardown_once at the correct time.
118 119 120 |
# File 'lib/scope.rb', line 118 def tests_and_subcontexts @tests_and_subcontexts end |
Instance Method Details
#run_setup_and_teardown(test_case_instance, test_name, &runner_proc) ⇒ Object
Runs the setup work for this context and any parent contexts, yields to the block (which should invoke the actual test method), and then completes the teardown work.
129 130 131 132 |
# File 'lib/scope.rb', line 129 def run_setup_and_teardown(test_case_instance, test_name, &runner_proc) contexts = ([self] + ancestor_contexts).reverse recursively_run_setup_and_teardown(test_case_instance, test_name, contexts, runner_proc) end |