我的佣金任务看起来像那样
task :install do
Module1.install
end
Module1有多个逻辑步骤,带有一堆“puts”语句,用于打印调试信息。
如何测试此rake任务(通过直接测试Module1.install
)以便它不会将所有调试信息直接打印到测试控制台中?
在内核模块中有没有比修补put方法更惯用的方法?
答案 0 :(得分:0)
您可以为此任务重新分配$stdout
:
require "stringio"
task :install do
new_stdout = StringIO.new
old_stdout = $stdout
$stdout = new_stdout
Module1.install
$stdout = old_stdout
end