12: def run(result)
13: assertion_counter = AssertionCounter.new(result)
14: yield(Test::Unit::TestCase::STARTED, name)
15: @_result = result
16: begin
17: begin
18: setup
19: __send__(@method_name)
20: mocha_verify(assertion_counter)
21: rescue Mocha::ExpectationError => e
22: add_failure(e.message, e.backtrace)
23: rescue Test::Unit::AssertionFailedError => e
24: add_failure(e.message, e.backtrace)
25: rescue StandardError, ScriptError
26: add_error($!)
27: ensure
28: begin
29: teardown
30: rescue Test::Unit::AssertionFailedError => e
31: add_failure(e.message, e.backtrace)
32: rescue StandardError, ScriptError
33: add_error($!)
34: end
35: end
36: ensure
37: mocha_teardown
38: end
39: result.add_run
40: yield(Test::Unit::TestCase::FINISHED, name)
41: end