Minitest Hog

Prints a list of tests that take too long.

Installation

gem install minitest-hog

Usage

Minitest Hog can be enabled from the command line using the max-memory parameter:

ruby test/example_test.rb --max-memory 16

This would print out a list of any tests that use more than 16k of memory:

# Running:

....

Finished in 1.001143s

4 runs, 7 assertions, 0 failures, 0 errors, 0 skips

2 slow tests.
  0) ExampleTest#test_alpha: 31 kb
  1) ExampleTest#test_beta: 18 kb

Usage with Rake

If you run your tests with Rake, set the TESTOPTS environment variable:

rake TESTOPTS="--max-memory 16"

Warning!

There are many ways to measure memory usage in Ruby. The results from Minitest Hog may not be exact, but should accurately reflect proportional memory usage.

Authors

Adam Sanderson (http://monkeyandcrow.com)