Rails 3.2 を使用しており、rspec (2.11.1) を使用しています。「rake spec」を使用してテスト スイートを実行すると、エラーが発生します。「rspec」で実行すると、すべてがパスします。この問題について他の言及を見てきましたが、何が起こっているのか、何がベストプラクティスなのかを説明する決定的なものはありません.
「rake spec」または「rake tmp:clear && rake spec」を実行すると、テストが失敗します。
「rspec」または「rspec spec」または「rake db:test:prepare && rspec」を実行すると、テストに合格します。
唯一の違いは、rake が "db:test:prepare" を実行したことだと思いましたが、rspec を実行する前に手動でそれを実行すると、テストがパスするので、それだけでは話になりません。
少し読んだ後、Gemfileを変更しました。以前は、「The RSpec Book」(p328) のように設定しており、rspec gem を「group :development, :test」ブロック内に配置する方法が説明されていました。他のSOの投稿を読んだ後、「:development」を削除してバンドルを行いました。"rake spec" は何もしません。「rspec」は以前と同じように機能します。
非常に混乱...