Class: CI::Reporter::TestCase

Inherits:
Struct
  • Object
show all
Defined in:
lib/ci/reporter/test_suite.rb

Overview

Structure used to represent an individual test case. Used to time the test and store the result.

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#assertionsObject

Returns the value of attribute assertions

Returns:

  • (Object)

    the current value of assertions



114
115
116
# File 'lib/ci/reporter/test_suite.rb', line 114

def assertions
  @assertions
end

#failureObject

Returns the value of attribute failure.



115
116
117
# File 'lib/ci/reporter/test_suite.rb', line 115

def failure
  @failure
end

#nameObject

Returns the value of attribute name

Returns:

  • (Object)

    the current value of name



114
115
116
# File 'lib/ci/reporter/test_suite.rb', line 114

def name
  @name
end

#timeObject

Returns the value of attribute time

Returns:

  • (Object)

    the current value of time



114
115
116
# File 'lib/ci/reporter/test_suite.rb', line 114

def time
  @time
end

Instance Method Details

#error?Boolean

Returns non-nil if the test had an error.

Returns:

  • (Boolean)


133
134
135
# File 'lib/ci/reporter/test_suite.rb', line 133

def error?
  failure && failure.error?
end

#failure?Boolean

Returns non-nil if the test failed.

Returns:

  • (Boolean)


128
129
130
# File 'lib/ci/reporter/test_suite.rb', line 128

def failure?
  failure && failure.failure?
end

#finishObject

Finishes timing the test.



123
124
125
# File 'lib/ci/reporter/test_suite.rb', line 123

def finish
  self.time = Time.now - @start
end

#startObject

Starts timing the test.



118
119
120
# File 'lib/ci/reporter/test_suite.rb', line 118

def start
  @start = Time.now
end

#to_xml(builder) ⇒ Object

Writes xml representing the test result to the provided builder.



138
139
140
141
142
143
144
145
146
147
148
149
# File 'lib/ci/reporter/test_suite.rb', line 138

def to_xml(builder)
  attrs = {}
  each_pair {|k,v| attrs[k] = builder.trunc!(v.to_s) unless v.nil? || v.to_s.empty?}
  builder.testcase(attrs) do
    if failure
      builder.failure(:type => builder.trunc!(failure.name), :message => builder.trunc!(failure.message)) do
        builder.text!(failure.message + " (#{failure.name})\n")
        builder.text!(failure.location)
      end
    end
  end
end