Class: Buildr::TestFramework::TestResult::RSpecResultHandler

Inherits:
Object
  • Object
show all
Defined in:
lib/buildr/java/test_result.rb

Overview

A JtestR ResultHandler Using this handler we can use RSpec formatters, like html/ci_reporter with JtestR Created for YamlFormatter

Defined Under Namespace

Modules: ExampleMethods, TestNGResultHandlerMixin Classes: BacktraceTweaker

Class Attribute Summary collapse

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, desc, *args) ⇒ RSpecResultHandler

Returns a new instance of RSpecResultHandler.



187
188
189
190
191
192
193
194
195
196
197
# File 'lib/buildr/java/test_result.rb', line 187

def initialize(name, desc, *args)
  self.example_group = ::Spec::Example::ExampleGroup.new(desc)
  example_group.extend ExampleMethods
  example_group.name = name.to_s
  if example_group.name[/Spec/]
    example_group.description = desc.to_s
  else
    example_group.description = name.to_s
  end
  reporter.add_example_group(example_group)
end

Class Attribute Details

.reporterObject (readonly)

an rspec reporter used to proxy events to rspec formatters



157
158
159
# File 'lib/buildr/java/test_result.rb', line 157

def reporter
  @reporter
end

Instance Attribute Details

#current_exampleObject

Returns the value of attribute current_example.



185
186
187
# File 'lib/buildr/java/test_result.rb', line 185

def current_example
  @current_example
end

#current_failureObject

Returns the value of attribute current_failure.



185
186
187
# File 'lib/buildr/java/test_result.rb', line 185

def current_failure
  @current_failure
end

#example_groupObject

Returns the value of attribute example_group.



185
186
187
# File 'lib/buildr/java/test_result.rb', line 185

def example_group
  @example_group
end

Class Method Details

.afterObject



171
172
173
174
# File 'lib/buildr/java/test_result.rb', line 171

def after
  reporter.end
  reporter.dump
end

.beforeObject



167
168
169
# File 'lib/buildr/java/test_result.rb', line 167

def before
  reporter.start(reporter.options.files.size)
end

.init(argv = [], out = STDOUT, err = STDERR) ⇒ Object



159
160
161
162
163
164
165
# File 'lib/buildr/java/test_result.rb', line 159

def init(argv = [], out = STDOUT, err = STDERR)
  ::JtestR::TestNGResultHandler.module_eval { include TestNGResultHandlerMixin }
  rspec_parser = ::Spec::Runner::OptionParser.new(err, out)
  rspec_parser.order!(argv)
  rspec_parser.options.backtrace_tweaker = BacktraceTweaker.new
  @reporter = Spec::Runner::Reporter.new(rspec_parser.options)
end

Instance Method Details

#add_fault(fault) ⇒ Object



205
206
207
# File 'lib/buildr/java/test_result.rb', line 205

def add_fault(fault)
  self.current_failure = fault
end

#add_pending(pending) ⇒ Object



209
210
# File 'lib/buildr/java/test_result.rb', line 209

def add_pending(pending)
end

#endingObject



202
203
# File 'lib/buildr/java/test_result.rb', line 202

def ending
end

#error_single(name = nil) ⇒ Object



240
241
242
243
# File 'lib/buildr/java/test_result.rb', line 240

def error_single(name = nil)
  #puts "ERR SINGLE #{name}"
  reporter.example_finished(current_example, current_error)
end

#fail_single(name = nil) ⇒ Object



235
236
237
238
# File 'lib/buildr/java/test_result.rb', line 235

def fail_single(name = nil)
  #puts "FAIL SINGLE #{name}"
  reporter.example_finished(current_example, current_error)
end

#pending_single(name = nil) ⇒ Object



245
246
247
248
249
# File 'lib/buildr/java/test_result.rb', line 245

def pending_single(name = nil)
  #puts "PEND SINGLE #{name}"
  error = ::Spec::Example::ExamplePendingError.new(name)
  reporter.example_finished(current_example, error)
end

#reporterObject



181
182
183
# File 'lib/buildr/java/test_result.rb', line 181

def reporter
  self.class.reporter
end

#startingObject



199
200
# File 'lib/buildr/java/test_result.rb', line 199

def starting
end

#starting_single(name = nil) ⇒ Object



212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
# File 'lib/buildr/java/test_result.rb', line 212

def starting_single(name = nil)
  self.current_failure = nil
  self.current_example = Object.new
  current_example.extend ::Spec::Example::ExampleMethods
  current_example.extend ExampleMethods
  name = name.to_s
  name[/\((pen?ding|error|failure|success)\)?$/]
  name = $`
  current_example.description = name
  if example_group.name[/Spec/]
    current_example.__full_description = "#{example_group.description} #{name}"
  else
    current_example.__full_description = "#{example_group.name}: #{name}"
  end
  reporter.example_started(current_example)
  #puts "STARTED #{name} #{current_example.__full_description}"
end

#succeed_single(name = nil) ⇒ Object



230
231
232
233
# File 'lib/buildr/java/test_result.rb', line 230

def succeed_single(name = nil)
  #puts "SUCC SINGLE #{name}"
  reporter.example_finished(current_example, nil)
end