Code Monkey home page Code Monkey logo

test-prof's Introduction

Gem Version Build Status CircleCI Code Triagers Badge

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:

  • Plug'n'Play integrations for general Ruby profilers (ruby-prof, stackprof)

  • Factories usage analyzers and profilers

  • ActiveSupport-backed profilers

  • RuboCop cops

  • etc.

Of course, we have some solutions for common performance issues too, bundled into the gem.

See Table of Contents for more.

Supported Ruby versions:

  • Ruby (MRI) >= 2.2.0

  • JRuby >= 9.1.0.0

Sponsored by Evil Martians

Resources

Installation

Add 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:

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:

Configuration

TestProf global configuration is used by most of the profilers:

TestProf.configure 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.timestamps = true

  # color output
  config.color = true
end

What's next?

Have an idea? Propose a feature request!

License

The gem is available as open source under the terms of the MIT License.

test-prof's People

Contributors

palkan avatar idolgirev avatar shkrt avatar ydakuka avatar askd avatar danielwestendorf avatar sponomarev avatar rtrv avatar basmoura avatar davidhrbac avatar searls avatar marshall-lee avatar desoleary avatar rabotyaga avatar

Watchers

Nicolas Torres avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.