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