123456789_123456789_123456789_123456789_123456789_

Module: Test::Unit::TestCasePendingSupport

Relationships & Source Files
Extension / Inclusion / Inheritance Descendants
Included In:
Defined in: lib/test/unit/pending.rb

Class Method Summary

Instance Method Summary

Class Method Details

.included(base)

[ GitHub ]

  
# File 'lib/test/unit/pending.rb', line 58

def included(base)
  base.class_eval do
    include PendingHandler
  end
end

Instance Method Details

#add_pending(pending) (private)

[ GitHub ]

  
# File 'lib/test/unit/pending.rb', line 102

def add_pending(pending)
  problem_occurred
  current_result.add_pending(pending)
end

#pend(message = nil, &block)

Marks the test or part of the test is pending.

Example:

def test_pending
  pend
  # Not reached here
end

def test_pending_with_here
  pend do
    # Ran here
    # Fails if the block doesn't raise any error.
    # Because it means the block is passed unexpectedly.
  end
  # Reached here
end
[ GitHub ]

  
# File 'lib/test/unit/pending.rb', line 82

def pend(message=nil, &block)
  message ||= "pended."
  if block_given?
    pending = nil
    begin
      yield
    rescue Exception
      pending = Pending.new(name, filter_backtrace(caller), message,
                            :method_name => @method_name)
      add_pending(pending)
    end
    unless pending
      flunk("Pending block should not be passed: #{message}")
    end
  else
    raise PendedError.new(message)
  end
end