Тестовые задачи Rake в тихом режиме - PullRequest
2 голосов
/ 01 мая 2011

Моя задача с рейком выглядит так

task :install do
  Module1.install
end

Модуль 1 имеет несколько логических шагов с кучей операторов «put», которые выводят отладочную информацию.

Как я могу протестировать эту задачу с граблями (тестируя Module1.install напрямую), чтобы она не выводила всю отладочную информацию прямо в консоль тестирования?

Есть ли более идиоматический способ, чем установка исправлений в модуль ядра?

1 Ответ

0 голосов
/ 01 мая 2011

Вы можете переназначить $stdout для этой задачи:

require "stringio"

task :install do
  new_stdout = StringIO.new
  old_stdout = $stdout  
  $stdout = new_stdout

  Module1.install

  $stdout = old_stdout
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...