运行RSpec时,将程序的输出重定向到其他位置

时间:2012-01-21 12:11:57

标签: ruby rspec rspec2

这可能是一个简单的问题,但我在RSpec文档中找不到任何内容。

为我的小Ruby(不是Rails!)程序运行RSpec时,RSpec的输出与我程序的输出混淆(例如我引入的自定义警告消息(warn())或进度消息到{{ 1}}通过$stdout)。

如何仅将程序的输出重定向到文件(或puts)?

我每次都要模仿/dev/null$stdoutputs吗?因为我对测试的输出不感兴趣,所以没有用。

我用warn和以下选项调用RSpec:

rake

ruby​​ 1.9.3p0(2011-10-30修订版33570)[x86_64-linux]
rspec 2.8.0
rake 0.9.2.2

1 个答案:

答案 0 :(得分:1)

您可以将自定义消息打印到$ stderr而不是$ stdout。 之后,您将能够重定向错误流,如:

spec 2> /dev/null