わからん...
ruby test/functional/hogehoge_controller_test.rb
ってコマンドから動かすとテストは無事終了するのに、rakeからまとめて実行すると一箇所テストが通らない部分がある。
うー、今日はこの解決で終わるかも。
解決
おそらくこれと同じ現象。
@something = Something.find_by_id(params[:id]) || Something.new
で、params[:id]がnilなら、当然Something.newが実行されるはずなんだけど、テストをrakeから連続で呼び出すと@somethingにキャッシュの値が入ってしまい、@somethingが非nilとなって、想定外の動作になっていた、と。
ジムにいって頭がすっきりした
@something = params[:id].nil? ? Something.new : Something.find_by_id(params[:id])||Something.new
これでいいのか?