Class: Attest::TestObject
Instance Attribute Summary collapse
-
#description ⇒ Object
readonly
Returns the value of attribute description.
-
#nosetup ⇒ Object
Returns the value of attribute nosetup.
-
#results ⇒ Object
readonly
Returns the value of attribute results.
Instance Method Summary collapse
- #add_cleanup(block) ⇒ Object
- #add_setup(block) ⇒ Object
-
#initialize(description, test_block) ⇒ TestObject
constructor
A new instance of TestObject.
- #run ⇒ Object
Constructor Details
#initialize(description, test_block) ⇒ TestObject
Returns a new instance of TestObject.
5 6 7 8 9 10 11 |
# File 'lib/attest/test_object.rb', line 5 def initialize(description, test_block) @description = description @test_block = test_block @before = nil @after = nil @results = nil end |
Instance Attribute Details
#description ⇒ Object (readonly)
Returns the value of attribute description.
3 4 5 |
# File 'lib/attest/test_object.rb', line 3 def description @description end |
#nosetup ⇒ Object
Returns the value of attribute nosetup.
4 5 6 |
# File 'lib/attest/test_object.rb', line 4 def nosetup @nosetup end |
#results ⇒ Object (readonly)
Returns the value of attribute results.
3 4 5 |
# File 'lib/attest/test_object.rb', line 3 def results @results end |
Instance Method Details
#add_cleanup(block) ⇒ Object
17 18 19 |
# File 'lib/attest/test_object.rb', line 17 def add_cleanup(block) @after = block end |
#add_setup(block) ⇒ Object
13 14 15 |
# File 'lib/attest/test_object.rb', line 13 def add_setup(block) @before = block end |
#run ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/attest/test_object.rb', line 21 def run Attest.output_writer.before_test(self) error = nil context = Attest::ExecutionContext.new begin Object.class_eval do define_method :itself do subject = self context.instance_eval {@subject = subject} context end end context.instance_eval(&@before) if @before && !nosetup context.instance_eval(&@test_block) if @test_block context.instance_eval(&@after) if @after && !nosetup rescue => e error = e ensure @results = context.results add_unexpected_error_result(error) if error add_pending_result unless @test_block end Attest.output_writer.after_test(self) end |