Module: Test::Unit::TestCaseOmissionSupport

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

Instance Method Summary collapse

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