Module: Flores::RSpec::Formatters
- Defined in:
- lib/flores/namespace.rb
Overview
rubocop:disable Style/ClassAndModuleChildren
Constant Summary collapse
- Analyze =
Class.new(RSpec::Core::Formatters::BaseTextFormatter) do RSpec::Core::Formatters.register self, :dump_failures, :dump_summary def dump_summary(event) # The event is an RSpec::Core::Notifications::SummaryNotification # Let's mimic the BaseTextFormatter but without the failing test report output.puts output.puts "Finished in #{event.formatted_duration}" output.puts "#{event.colorized_totals_line}" end def dump_failures(event) output.puts group = event.examples.each_with_object(Hash.new { |h, k| h[k] = [] }) do |e, m| m[e.[:full_description]] << e m end group.each { |description, examples| dump_example_summary(description, examples) } end def dump_example_summary(description, examples) output.puts description analysis = Flores::RSpec::Analyze::Analysis.new(group_by_result(examples)) output.puts(analysis.to_s.gsub(/^/, " ")) end def group_by_result(examples) # rubocop:disable Metrics/AbcSize examples.each_with_object(Hash.new { |h, k| h[k] = [] }) do |example, results| if example.[:execution_result].status == :passed results[:success] << [example.[:values], nil] else exception = example.[:execution_result].exception results[exception.class] << [example.[:values], exception] end results end end def method_missing(m, *args) p m => args end end