Methods

Class Public methods

new(io = $stdout, options = {})

📝 Source code
# File railties/lib/minitest/rails_plugin.rb, line 29
    def initialize(io = $stdout, options = {})
      super
      @results = []
      @count = options[:profile]
    end
🔎 See on GitHub

Instance Public methods

record(result)

📝 Source code
# File railties/lib/minitest/rails_plugin.rb, line 35
    def record(result)
      @results << result
    end
🔎 See on GitHub

report()

📝 Source code
# File railties/lib/minitest/rails_plugin.rb, line 39
    def report
      total_time = @results.sum(&:time)

      @results.sort! { |a, b| b.time <=> a.time }
      slow_results = @results.take(@count)
      slow_tests_total_time = slow_results.sum(&:time)

      ratio = (total_time == 0) ? 0.0 : (slow_tests_total_time / total_time) * 100

      io.puts("\nTop %d slowest tests (%.2f seconds, %.1f%% of total time):\n" % [slow_results.size, slow_tests_total_time, ratio])
      slow_results.each do |result|
        io.puts("  %s\n    %.4f seconds %s\n" % [result.location, result.time, source_location(result)])
      end
      io.puts("\n")
    end
🔎 See on GitHub