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



56
57
58
59
60
# File 'lib/test/unit/omission.rb', line 56

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


77
78
79
80
81
82
83
84
85
# File 'lib/test/unit/omission.rb', line 77

def omit(message=nil, &block)
  message ||= "omitted."
  if block_given?
    omission = Omission.new(name, filter_backtrace(caller), message)
    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


105
106
107
108
109
110
111
# File 'lib/test/unit/omission.rb', line 105

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


131
132
133
134
135
136
137
# File 'lib/test/unit/omission.rb', line 131

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