ImmediateFeedbackFormatter - Better formatted RSpec output

Update: If you want something like this for RSpec 2, use Fuubar

On one of my projects the specs are now taking a full 10 minutes to run on my machine. Needless to say, it’s mightily annoying seeing a spec failure in the output knowing you’ll have to wait for 10 minutes before you get the details of what’s failing and you can get to fixing it.

Luckily my co-worker, Laust Rud Jensen, had that same itch and decided to scratch it. Unfortunately he doesn’t have a website to post about these things, so I am posting it for him:

Laust speaks

Itch: specs are slow and RSpec progress feedback is either extremely verbose, or you have to wait for the full spec run to complete before you can see what failed.

Scratch: I’ve hacked together a new simple RSpec formatter called ImmediateFeedbackFormatter, with code based on the existing SpecdocFormatter.

My spec/spec.opts file now contains:
--require
spec/rspec_immediate_feedback_formatter.rb
--format
Spec::Runner::Formatter::ImmediateFeedbackFormatter
--colour
--loadby
mtime
--backtrace

The require and format options are needed to use the ImmediateFeedbackFormatter.

This new formatter will print full error details as soon as they are found. Successful or pending examples are written only as a dot in the output. Name of a spec group is only printed if errors occur within the group, so much less unnecessary output is generated.

Deprecated

This is no longer available. I’m sure there are options out there for newer versions of RSpec.