2012-01-21 2 views
1

これはおそらく簡単な質問ですが、RSpecのドキュメントで何も見つかりませんでした。RSpecを実行しているときにプログラムの出力を別の場所にリダイレクト

私の小さなルビー(Railsのではない!)プログラムのためにRSpecのを実行している場合は、RSpecのの出力は私のプログラムの出力を台無しに(私が導入例えば、カスタム警告メッセージ(warn())またはputs経由$stdoutにメッセージを進行)されます。

私のプログラムの出力のみをファイル(または/dev/null)にリダイレクトできますか?

私はいつも$stdout,putsおよびwarnをモックする必要がありますか?私はテストのための出力には興味がないので、役に立たないでしょう。

私はrakeとRSpecのを呼び出すと、以下のオプションだ:

--require spec_helper.rb \ 
--format html --out log/rspec_report.html \ 
--format documentation --out log/rspec_report.txt \ 
--format progress 

ルビー1.9.3p0(2011年10月30日リビジョン33570)[x86_64の-linuxの]
RSpecの2.8.0
rake 0.9.2.2

答えて

1

カスタムメッセージを$ stdoutではなく$ stderrに出力できます。右、

spec 2> /dev/null 
+0

しかし、私は私のプログラム内で実行する必要があります私のプログラムの標準出力(および警告メッセージ)のこのリダイレクト: その後、あなたは可能なリダイレクトエラーのような流れになりますか?または、RSpec内で実行しているときにのみリダイレクトする方法がありますか? –

+0

1)右。 2)残念ながら、私は知らない。 – taro

関連する問題