Sha256: 87a0a02a28cc2bc416c1a5cb60042080163162122208433786ae44d2b9475e28

Contents?: true

Size: 1.11 KB

Versions: 4

Compression:

Stored size: 1.11 KB

Contents

class RSpecJUnitFormatter < RSpec::Core::Formatters::BaseFormatter
  attr_reader :started

  def start(example_count)
    @started = Time.now
    super
  end

  def dump_summary(duration, example_count, failure_count, pending_count)
    super
    xml_dump
  end

private

  def xml_dump_examples
    examples.each do |example|
      send :"xml_dump_#{example.execution_result[:status]}", example
    end
  end

  def result_of(example)
    example.execution_result[:status]
  end

  def example_group_file_path_for(example)
    meta = example.metadata
    while meta[:example_group]
      meta = meta[:example_group]
    end
    meta[:file_path]
  end

  def classname_for(example)
    fp = example_group_file_path_for(example)
    fp.sub(%r{\.[^/.]+\Z}, "").gsub("/", ".").gsub(/\A\.+|\.+\Z/, "")
  end

  def duration_for(example)
    example.execution_result[:run_time]
  end

  def description_for(example)
    example.full_description
  end

  def exception_for(example)
    example.execution_result[:exception]
  end

  def formatted_backtrace_for(example)
    format_backtrace exception_for(example).backtrace, example
  end
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
rspec_junit_formatter_jenkins-0.2.4 lib/rspec_junit_formatter/rspec2.rb
rspec_junit_formatter-0.2.3 lib/rspec_junit_formatter/rspec2.rb
rspec_junit_formatter-0.2.2 lib/rspec_junit_formatter/rspec2.rb
rspec_junit_formatter-0.2.1 lib/rspec_junit_formatter/rspec2.rb