Sha256: 650edac0ff19e524a6435441d4d3dbdf0a5602b2fe8fadb07a90ca68d27b9bdd

Contents?: true

Size: 964 Bytes

Versions: 3

Compression:

Stored size: 964 Bytes

Contents

require "test_notifier"
require "rspec/core/formatters"

class RSpec::Core::Formatters::BaseTextFormatter
  alias dump_summary_original dump_summary

  def dump_summary(duration, example_count, failure_count, pending_count)
    dump_summary_original(duration, example_count, failure_count, pending_count)

    return if example_count.zero?

    failure_filter = proc {|e|
      e.instance_variable_get("@exception").class.name == "RSpec::Expectations::ExpectationNotMetError"
    }

    error_filter = proc {|e|
      %w[RSpec::Expectations::ExpectationNotMetError NilClass].include?(e.instance_variable_get("@exception").class.name)
    }

    stats = TestNotifier::Stats.new(:rspec, {
      :count    => example_count,
      :failures => examples.select(&failure_filter).count,
      :pending  => pending_count,
      :errors   => examples.reject(&error_filter).count
    })

    TestNotifier.notify(:status => stats.status, :message => stats.message)
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
test_notifier-0.3.5.rc.3 lib/test_notifier/runner/rspec.rb
test_notifier-0.3.5.rc.2 lib/test_notifier/runner/rspec.rb
test_notifier-0.3.5.rc.1 lib/test_notifier/runner/rspec.rb