Module: Test::Unit::TestCaseOmissionSupport

Included in:
TestCase
Defined in:
lib/test/unit/omission.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



58
59
60
61
62
# File 'lib/test/unit/omission.rb', line 58

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

Instance Method Details

#omit(message = nil, &block) ⇒ Object

Omit the test or part of the test.

Example: def test_omission omit # Not reached here end

def test_omission_with_here omit do # Not ran here end # Reached here end



79
80
81
82
83
84
85
86
87
88
# File 'lib/test/unit/omission.rb', line 79

def omit(message=nil, &block)
  message ||= "omitted."
  if block_given?
    omission = Omission.new(name, filter_backtrace(caller), message,
                            :method_name => @method_name)
    add_omission(omission)
  else
    raise OmittedError.new(message)
  end
end

#omit_if(condition, *args, &block) ⇒ Object

Omit the test or part of the test if condition is true.

Example: def test_omission omit_if("".empty?) # Not reached here end

def test_omission_with_here omit_if(true) do # Not ran here end omit_if(false) do # Reached here end # Reached here too end



108
109
110
111
112
113
114
# File 'lib/test/unit/omission.rb', line 108

def omit_if(condition, *args, &block)
  if condition
    omit(*args, &block)
  else
    block.call if block
  end
end

#omit_unless(condition, *args, &block) ⇒ Object

Omit the test or part of the test if condition is not true.

Example: def test_omission omit_unless("string".empty?) # Not reached here end

def test_omission_with_here omit_unless(true) do # Reached here end omit_unless(false) do # Not ran here end # Reached here too end



134
135
136
137
138
139
140
# File 'lib/test/unit/omission.rb', line 134

def omit_unless(condition, *args, &block)
  if condition
    block.call if block
  else
    omit(*args, &block)
  end
end