1 2 3 4 5 6 7 8 9 10 11 12 13 14 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 45 46 47 48 49 50 51 52 53 54 55 56 57
|
require 'mocha/integration/mini_test/assertion_counter'
require 'mocha/expectation_error'
module Mocha
module Integration
module MiniTest
module Version200
def self.included(mod)
$stderr.puts "Monkey patching MiniTest v2.0.0" if $mocha_options['debug']
end
def run runner
trap 'INFO' do
time = Time.now - runner.start_time
warn "%s#%s %.2fs" % [self.class, self.__name__, time]
runner.status $stderr
end if ::MiniTest::Unit::TestCase::SUPPORTS_INFO_SIGNAL
assertion_counter = AssertionCounter.new(self)
result = ""
begin
begin
@passed = nil
self.setup
self.__send__ self.__name__
mocha_verify(assertion_counter)
result = "." unless io?
@passed = true
rescue *::MiniTest::Unit::TestCase::PASSTHROUGH_EXCEPTIONS
raise
rescue Exception => e
@passed = false
result = runner.puke self.class, self.__name__, Mocha::Integration::MiniTest.translate(e)
ensure
begin
self.teardown
rescue *::MiniTest::Unit::TestCase::PASSTHROUGH_EXCEPTIONS
raise
rescue Exception => e
result = runner.puke self.class, self.__name__, Mocha::Integration::MiniTest.translate(e)
end
trap 'INFO', 'DEFAULT' if ::MiniTest::Unit::TestCase::SUPPORTS_INFO_SIGNAL
end
ensure
mocha_teardown
end
result
end
end
end
end
end
|