On Ruby 1.9, Test::Unit::TestCase subclasses MiniTest::Unit::TestCase. If the true TestCase is not loaded first, you get a "superclass mismatch for class TestCase" because Shoulda defines it without that superclass.