2
我rake任务看起来像测试Rake任务
task :install do
Module1.install
end
模块1有一堆“看跌期权”,它打印调试信息报表的多个逻辑步骤。
我该如何测试这个rake任务(通过直接测试Module1.install
),以便它不会将所有调试信息直接打印到测试控制台中?
有没有比在内核模块中修补puts方法更多的惯用方法?
我rake任务看起来像测试Rake任务
task :install do
Module1.install
end
模块1有一堆“看跌期权”,它打印调试信息报表的多个逻辑步骤。
我该如何测试这个rake任务(通过直接测试Module1.install
),以便它不会将所有调试信息直接打印到测试控制台中?
有没有比在内核模块中修补puts方法更多的惯用方法?
您可以重新分配$stdout
此任务:
require "stringio"
task :install do
new_stdout = StringIO.new
old_stdout = $stdout
$stdout = new_stdout
Module1.install
$stdout = old_stdout
end