標準出力のテスト書いた
9/2追記:RSpecで使うと、なぜか最初のreopenでスクリプトが終了して(リターンコード=1)、それ以降のケースがなかったことにされてしまったため、reopenから$stdoutへの代入に修正しました。flushすれば代入でも上手く動くっぽいので。
参考リンク(Rubyリファレンスマニュアル)
http://doc.ruby-lang.org/ja/1.9.2/class/Tempfile.html
http://rurema.clear-code.com/1.9.3/method/Kernel/v/=3e.html ($stdout)