【发布时间】:2018-10-29 15:21:38
【问题描述】:
我有一个 rake 任务,它为控制台提供一些输出。此输出可用于跟踪执行进度,并通过 puts 实现,如下所示:
task :clean => :environment do
# Some code
puts 'Doing work'
end
我已经用Minitest 编写了该任务的测试,它提供了与手动调用时相同的控制台输出。当我为项目运行整个测试套件时,这会弄乱“绿点”屏幕。
是否有在测试环境中禁用控制台输出的选项(puts 语句的效果)?或者,是否有另一种在手动运行任务时显示消息的方式,可以隐藏在测试环境中。
我已经探索了将puts 替换为Rails.logger.info 的选项。这可以根据环境进行配置,但它会将输出打印到日志中,而不是在运行任务的终端窗口中。
【问题讨论】:
标签: ruby-on-rails rake minitest