Перенаправить вывод программы куда-либо еще при запуске RSpec - PullRequest
1 голос
/ 21 января 2012

Это, вероятно, простой вопрос, хотя я не смог найти ничего в документации RSpec.

При запуске RSpec для моей маленькой программы на Ruby (не Rails!) Вывод RSpec портится с выводом моей программы (например, пользовательские предупреждающие сообщения, которые я ввел (warn()), или сообщения о ходе выполнения к $stdout через puts).

Как я могу перенаправить только вывод моей программы в файл (или /dev/null)?

Должен ли я каждый раз издеваться $stdout, puts и warn? Это было бы бесполезно, так как я не заинтересован в этом выводе для тестов.

Я звоню в RSpec с rake и следующими параметрами:

--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
грабли 0.9.2.2

1 Ответ

1 голос
/ 21 января 2012

Вы можете распечатать свои собственные сообщения в $ stderr вместо $ stdout. После этого вы сможете перенаправить поток ошибок, например:

spec 2> /dev/null
...