Class: SimpleJUnit::TestCase

Inherits:
Object
  • Object
show all
Defined in:
lib/simple_junit.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, desc = nil, duration = nil) ⇒ TestCase

Returns a new instance of TestCase.



84
85
86
87
88
89
90
91
# File 'lib/simple_junit.rb', line 84

def initialize(name, desc=nil, duration=nil)
  @classname = name
  @description = desc
  @duration = duration
  @status = :pending
  @errors = nil
  @output = nil
end

Instance Attribute Details

#classnameObject (readonly)

Returns the value of attribute classname.



77
78
79
# File 'lib/simple_junit.rb', line 77

def classname
  @classname
end

#descriptionObject (readonly)

Returns the value of attribute description.



78
79
80
# File 'lib/simple_junit.rb', line 78

def description
  @description
end

#durationObject (readonly)

Returns the value of attribute duration.



79
80
81
# File 'lib/simple_junit.rb', line 79

def duration
  @duration
end

#errorsObject (readonly)

Returns the value of attribute errors.



81
82
83
# File 'lib/simple_junit.rb', line 81

def errors
  @errors
end

#outputObject (readonly)

Returns the value of attribute output.



82
83
84
# File 'lib/simple_junit.rb', line 82

def output
  @output
end

#statusObject (readonly)

Returns the value of attribute status.



80
81
82
# File 'lib/simple_junit.rb', line 80

def status
  @status
end

Instance Method Details

#failed(type: nil, output: nil, error: nil) ⇒ Object



107
108
109
110
111
112
113
114
115
116
# File 'lib/simple_junit.rb', line 107

def failed(type:nil, output:nil, error:nil)
  @status = :failed
  @error_type = type || 'unspecified'
  unless output.nil?
    @output = output
  end
  unless error.nil?
    @errors = error
  end
end

#failed?Boolean

Returns:

  • (Boolean)


118
119
120
# File 'lib/simple_junit.rb', line 118

def failed?
  @status == :failed
end

#finishObject



138
139
140
# File 'lib/simple_junit.rb', line 138

def finish
  @duration = Time.now - @started
end

#passed(output: nil, error: nil) ⇒ Object



93
94
95
96
97
98
99
100
101
# File 'lib/simple_junit.rb', line 93

def passed(output:nil, error:nil)
  @status = :passed
  unless output.nil?
    @output = output
  end
  unless error.nil?
    @errors = error
  end
end

#passed?Boolean

Returns:

  • (Boolean)


103
104
105
# File 'lib/simple_junit.rb', line 103

def passed?
  @status == :passed
end

#pending?Boolean

Returns:

  • (Boolean)


122
123
124
# File 'lib/simple_junit.rb', line 122

def pending?
  @status == :pending
end

#skipObject



126
127
128
# File 'lib/simple_junit.rb', line 126

def skip
  @status = :skipped
end

#skipped?Boolean

Returns:

  • (Boolean)


130
131
132
# File 'lib/simple_junit.rb', line 130

def skipped?
  @status == :skipped
end

#startObject



134
135
136
# File 'lib/simple_junit.rb', line 134

def start
  @started = Time.now
end

#to_sObject



143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
# File 'lib/simple_junit.rb', line 143

def to_s
  xml = "    <testcase classname=\"#{@classname}\" "
  unless @description.nil?
    xml += "name=\"#{@description}\" "
  end
  xml += "time=\"#{@duration}\">\n"

  case @status
  when :skipped
    xml += "      <skipped/>\n"
  when :failed
    xml += "      <failure message=\"#{@error_type}\">#{@errors}</failure>\n"
  end

  xml += "      <system-out>#{@output}</system-out>\n" if @output
  xml += "      <system-err>#{@errors}</system-err>\n" if @errors

  xml += "    </testcase>\n"
  return xml
end