Ruby Tests Profiling Toolbox
TestProf is a collection of different tools to analyze your test suite performance.
Why does test suite performance matter? First of all, testing is a part of a developer's feedback loop (see @searls talk) and, secondly, it is a part of a deployment cycle.
Simply speaking, slow tests waste your time making you less productive.
TestProf toolbox aims to help you identify bottlenecks in your test suite. It contains:
Factories usage analyzers and profilers
Of course, we have some solutions for common performance issues too, bundled into the gem.
See Table of Contents for more.
test-prof gem to your application:
group :test do gem 'test-prof' end
And that's it)
Table of Contents
Checkout our guides for each specific tool:
Event Profiler (e.g. ActiveSupport notifications)
Tips and Tricks (or Recipes)
We also want to share some small code tricks which can help you to improve your test suite performance and efficiency:
TestProf global configuration is used by most of the profilers:
. do |config| # the directory to put artifacts (reports) in ("tmp/test_prof" by default) config.output_dir = "tmp/test_prof" # use unique filenames for reports (by simply appending current timestamp) config. = true # color output config.color = true end
Or TODO list:
Better Minitest integration (PRs welcome!)
Other data generation library support (e.g Fabricator). Does anyone use something except from FactoryGirl?
Add more Rubocop cops (e.g.
The gem is available as open source under the terms of the MIT License.