class Spec::Runner::Formatter::ProfileFormatter
def example_passed(example)
def example_passed(example) super @example_times << [ example_group.description, example.description, Time.now - @time ] end
def example_started(example)
def example_started(example) @time = Time.now end
def initialize(options, where)
def initialize(options, where) super @example_times = [] end
def method_missing(sym, *args)
def method_missing(sym, *args) # ignore end
def start(count)
def start(count) @output.puts "Profiling enabled." end
def start_dump
def start_dump super @output.puts "\n\nTop 10 slowest examples:\n" @example_times = @example_times.sort_by do |description, example, time| time end.reverse @example_times[0..9].each do |description, example, time| @output.print red(sprintf("%.7f", time)) @output.puts " #{description} #{example}" end @output.flush end