thoughtbot/shoulda-matchers — pull request #306 by nate (2013-06-05 01:57:43+00:00)
Title: Loads 'test/unit/assertionfailederror' instead of 'test/unit'.

In ruby 1.8, test/unit.rb adds a Kernel.at_exit hook which is intended to run
the test suite. When using rspec this triggers an empty test suite to be run.
Since the intention of this code is to load Test::Unit::AssertionFailedError,
we can require the file that contains that error class directly.

When the empty test suite runs, it spits out something similar to:

Loaded suite /Users/user/.rvm/gems/ree-1.8.7-2012.02@my-gemset/bin/rspec
Started

Finished in 0.000153 seconds.

0 tests, 0 assertions, 0 failures, 0 errors

This is confusing to new developers on a project and it may confuse tools that attempt to parse the output of the test suite. I have no examples of the latter, but I've seen the former.

Also, this removes a ruby 1.9-style hash so things continue to work in ruby
1.8.