minitest-reporters - create customizable Minitest output formats Build Status

Death to haphazard monkey-patching! Extend Minitest through simple hooks.

Installation

gem install minitest-reporters

Usage

In your test_helper.rb file, add the following lines:

require "minitest/reporters"
Minitest::Reporters.use!

This will swap out the Minitest runner to the custom one used by minitest-reporters and use the correct reporters for Textmate, Rubymine, and the console. If you would like to write your own reporter, just include Minitest::Reporter and override the methods you'd like. Take a look at the provided reporters for examples.

Don't like the default progress bar reporter?

Minitest::Reporters.use! Minitest::Reporters::SpecReporter.new

Want to use multiple reporters?

Minitest::Reporters.use! [Minitest::Reporters::SpecReporter.new, Minitest::Reporters::JUnitReporter.new]

The following reporters are provided:

Minitest::Reporters::DefaultReporter  # => Redgreen-capable version of standard Minitest reporter
Minitest::Reporters::SpecReporter     # => Turn-like output that reads like a spec
Minitest::Reporters::ProgressReporter # => Fuubar-like output with a progress bar
Minitest::Reporters::RubyMateReporter # => Simple reporter designed for RubyMate
Minitest::Reporters::RubyMineReporter # => Reporter designed for RubyMine IDE and TeamCity CI server
Minitest::Reporters::JUnitReporter    # => JUnit test reporter designed for JetBrains TeamCity

Options can be passed to these reporters at construction-time, e.g. to force color output from DefaultReporter:

Minitest::Reporters.use! [Minitest::Reporters::SpecReporter.new(:color => true)]

Screenshots

Default Reporter

Default Reporter

Spec Reporter

Spec Reporter

Progress Reporter

Progress Reporter

Caveats

If you are using minitest-reporters with ActiveSupport 3.x, make sure that you require ActiveSupport before invoking Minitest::Reporters.use!. Minitest-reporters fixes incompatibilities caused by monkey patches in ActiveSupport 3.x. ActiveSupport 4.x is unaffected.

Note on Patches/Pull Requests

Resources

License

Minitest-reporters is licensed under the MIT License. See LICENSE for details.