Module: Mocha::Integration::TestUnit::RubyVersion185AndBelow

Included in:
Test::Unit::TestCase
Defined in:
lib/mocha/integration/test_unit/ruby_version_185_and_below.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(mod) ⇒ Object


12
13
14
# File 'lib/mocha/integration/test_unit/ruby_version_185_and_below.rb', line 12

def self.included(mod)
  $stderr.puts "Monkey patching Test::Unit for Ruby <= v1.8.5" if $mocha_options['debug']
end

Instance Method Details

#run(result) {|Test::Unit::TestCase::STARTED, name| ... } ⇒ Object

Yields:

  • (Test::Unit::TestCase::STARTED, name)

15
16
17
18
19
20
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/mocha/integration/test_unit/ruby_version_185_and_below.rb', line 15

def run(result)
  assertion_counter = AssertionCounter.new(result)
  yield(Test::Unit::TestCase::STARTED, name)
  @_result = result
  begin
    begin
      setup
      __send__(@method_name)
      mocha_verify(assertion_counter)
    rescue Mocha::ExpectationError => e
      add_failure(e.message, e.backtrace)
    rescue Test::Unit::AssertionFailedError => e
      add_failure(e.message, e.backtrace)
    rescue StandardError, ScriptError
      add_error($!)
    ensure
      begin
        teardown
      rescue Test::Unit::AssertionFailedError => e
        add_failure(e.message, e.backtrace)
      rescue StandardError, ScriptError
        add_error($!)
      end
    end
  ensure
    mocha_teardown
  end
  result.add_run
  yield(Test::Unit::TestCase::FINISHED, name)
end