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