25: def run(result)
26: assertion_counter = AssertionCounter.new(result)
27: yield(Test::Unit::TestCase::STARTED, name)
28: @_result = result
29: begin
30: begin
31: setup
32: __send__(@method_name)
33: mocha_verify(assertion_counter)
34: rescue Mocha::ExpectationError => e
35: add_failure(e.message, e.backtrace)
36: rescue Test::Unit::AssertionFailedError => e
37: add_failure(e.message, e.backtrace)
38: rescue StandardError, ScriptError
39: add_error($!)
40: ensure
41: begin
42: teardown
43: rescue Test::Unit::AssertionFailedError => e
44: add_failure(e.message, e.backtrace)
45: rescue StandardError, ScriptError
46: add_error($!)
47: end
48: end
49: ensure
50: mocha_teardown
51: end
52: result.add_run
53: yield(Test::Unit::TestCase::FINISHED, name)
54: end