Module: Test::Unit::ErrorCollector
- Defined in:
- lib/walrus/additions/test/unit/error_collector.rb
Overview
See blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/138320 Usage:
require 'test/unit'
require 'walrus/additions/test/unit/error_collector'
class TestClass < Test::Unit::TestCase
include Test::Unit::ErrorCollector
def test_method
collecting_errors do
assert false
assert false
end
end
end
Instance Method Summary collapse
Instance Method Details
#collecting_errors ⇒ Object
30 31 32 33 34 35 36 37 38 |
# File 'lib/walrus/additions/test/unit/error_collector.rb', line 30 def collecting_errors # save state prior to yielding to block is_collecting = @is_collecting @is_collecting = true yield ensure # restore state on leaving block @is_collecting = is_collecting end |
#handle_error(method, error) ⇒ Object
48 49 50 51 52 53 54 55 56 57 |
# File 'lib/walrus/additions/test/unit/error_collector.rb', line 48 def handle_error(method, error) backtrace = error.backtrace backtrace.shift # raise shouldn't appear in the backtrace if @is_collecting backtrace.slice!(5, 2) # remove collecting_errors and corresponding block send(method, error., backtrace) else Kernel.raise(error, error., backtrace) end end |