Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/140.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 重定向程序';在运行RSpec时,将输出到其他地方_Ruby_Rspec_Rspec2 - Fatal编程技术网

Ruby 重定向程序';在运行RSpec时,将输出到其他地方

Ruby 重定向程序';在运行RSpec时,将输出到其他地方,ruby,rspec,rspec2,Ruby,Rspec,Rspec2,这可能是一个简单的问题,尽管我在RSpec文档中找不到任何东西 在为我的小Ruby(不是Rails!)程序运行RSpec时,RSpec的输出与我的程序的输出(例如,我引入的自定义警告消息(warn())或通过put)发送到$stdout的进度消息)混乱 如何仅将程序的输出重定向到文件(或/dev/null) 我是否每次都必须模拟$stdout,放置和警告?这不会有帮助,因为我对测试的输出不感兴趣 我使用rake和以下选项调用RSpec: --require spec_helper.rb \ -

这可能是一个简单的问题,尽管我在RSpec文档中找不到任何东西

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

如何仅将程序的输出重定向到文件(或
/dev/null

我是否每次都必须模拟
$stdout
放置
警告
?这不会有帮助,因为我对测试的输出不感兴趣

我使用
rake
和以下选项调用RSpec:

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

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

rake 0.9.2.2

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

spec 2> /dev/null

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

spec 2> /dev/null

但是我的程序的标准输出(和警告消息)的重定向,我需要在我的程序中执行,对吗?或者只有在RSpec中运行时才有办法重定向它?1)正确。2) 不幸的是,我不知道。但是我需要在我的程序中重定向我的程序的标准输出(和警告消息),对吗?或者只有在RSpec中运行时才有办法重定向它?1)正确。2) 不幸的是,我不知道。