Methods
Constants
PASSTHROUGH_EXCEPTIONS = Test::Unit::TestCase::PASSTHROUGH_EXCEPTIONS rescue [NoMemoryError, SignalException, Interrupt, SystemExit]
  For compatibility with Ruby < 1.8.6
Public Instance methods
run(result) {|Test::Unit::TestCase::STARTED, name| ...}

This redefinition is unfortunate but test/unit shows us no alternative. Doubly unfortunate: hax to support Mocha‘s hax.

    # File activesupport/lib/active_support/testing/setup_and_teardown.rb, line 44
44:         def run(result)
45:           return if @method_name.to_s == "default_test"
46: 
47:           if using_mocha = respond_to?(:mocha_verify)
48:             assertion_counter_klass = if defined?(Mocha::TestCaseAdapter::AssertionCounter)
49:                                         Mocha::TestCaseAdapter::AssertionCounter
50:                                       else
51:                                         Mocha::Integration::TestUnit::AssertionCounter
52:                                       end
53:             assertion_counter = assertion_counter_klass.new(result)
54:           end
55: 
56:           yield(Test::Unit::TestCase::STARTED, name)
57:           @_result = result
58:           begin
59:             begin
60:               run_callbacks :setup
61:               setup
62:               __send__(@method_name)
63:               mocha_verify(assertion_counter) if using_mocha
64:             rescue Mocha::ExpectationError => e
65:               add_failure(e.message, e.backtrace)
66:             rescue Test::Unit::AssertionFailedError => e
67:               add_failure(e.message, e.backtrace)
68:             rescue Exception => e
69:               raise if PASSTHROUGH_EXCEPTIONS.include?(e.class)
70:               add_error(e)
71:             ensure
72:               begin
73:                 teardown
74:                 run_callbacks :teardown, :enumerator => :reverse_each
75:               rescue Test::Unit::AssertionFailedError => e
76:                 add_failure(e.message, e.backtrace)
77:               rescue Exception => e
78:                 raise if PASSTHROUGH_EXCEPTIONS.include?(e.class)
79:                 add_error(e)
80:               end
81:             end
82:           ensure
83:             mocha_teardown if using_mocha
84:           end
85:           result.add_run
86:           yield(Test::Unit::TestCase::FINISHED, name)
87:         end