thoughtbot/shoulda-matchers — pull request #527 by mcmire (2014-05-21 15:46:30+00:00)
Title: Add missing test dependences to Appraisals

Since as of commit 2748b750873faf587c78d7a71f6c725b0fd4252a, we no
longer install dependencies inside of the Rails app that is generated,
we have to all of the dependencies that the app would install inside of
the appropriate Appraisals.

This was mostly straightforward except for some workarounds with the
turn gem:

* Rails 3.1 requires two versions of turn depending on which Ruby
version you're using. On 1.9.2, it uses turn 0.9.2; after 1.9.2, it
uses ~> 0.9.3. To accommodate this we have to have two versions of the
Rails 3.1 appraisal which declare the different turn versions.
* Rails 3.1 also loads the turn gem even if, in the Gemfile for the
app, turn is declared with `require: false`. This causes a problem
while running our tests because turn actually requires
minitest/autorun, which adds a hook so when Ruby exits, Minitest tests
are run. Because we're already using RSpec, Minitest will try to run
RSpec files as Minitest files. Unfortunately there's no way to shut
off minitest/autorun after it's been required, so we have to
monkey-patch Minitest's #run method so it's a no-op.