Ruby 重定向程序';在运行RSpec时,将输出到其他地方
这可能是一个简单的问题,尽管我在RSpec文档中找不到任何东西 在为我的小Ruby(不是Rails!)程序运行RSpec时,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 \ -
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) 不幸的是,我不知道。