No description, website, or topics provided.
Ruby
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
test
.gitignore
Gemfile
Gemfile.lock
LICENSE
README.rdoc
Rakefile
top_tests.gemspec

README.rdoc

What is it?

Top tests displays your 10 slowest tests after execution. The goal is to help you keeping your tests fast.

Moreover top tests can break your build if any test is taking longer than the specified max duration.

How to use it?

First of all top tests works only with MiniTest (>= 2.11.2). Add top_tests to your Gemfile.

gem 'top_tests'

Then require top tests and just include it into your test class:

class SampleTest < MiniTest::Unit::TestCase
  include TopTests

  # Break your build if any test's duration is longer than ...
  self.max_duration = 0.5 # Optional, nil by default (in seconds)
end

Sample output:

Top 10 slowest tests:
    0.429 ApplicationControllerTest#test_notify_error
    0.322 HoneyBadgersControllerTest#test_show
    0.200 BearsControllerTest#test_destroy_collection
    0.134 SuricatsControllerTest#test_can_not_update
    0.124 SuricatsControllerTest#test_create
    0.105 SuricatsControllerTest#test_update
    0.096 HoneyBadgersControllerTest#test_create
    0.093 HoneyBadgersControllerTest#test_update
    0.091 SuricatsControllerTest#test_destroy
    0.090 HoneyBadgersControllerTest#test_show

Sample output when few tests are too slow:

TEST?FAIL! 3 test(s) are taking longer than 0.2 seconds:
    0.410 HoneyBadgerTest#test_fighting_a_cobra
    0.228 SuricatTest#test_caught_by_an_eagle
    0.203 HoneyBadgerTest#test_eating_larvae