运行Rails测试时,不要将日志输出到屏幕

时间:2014-11-26 10:20:53

标签: ruby-on-rails ruby testing rake

我需要为我的Rails应用程序运行测试,但似乎当我执行rake test:all时,我会将所有日志输出到我的屏幕,包括执行的所有查询和调试消息。

有没有办法只显示通过/失败的测试次数和失败次数(如果有的话?)。类似于Django测试输出的东西。

1 个答案:

答案 0 :(得分:1)

我自己设法解决了这个问题。

config/environments/test.rb我添加了以下几行:

config.logger = Logger.new(STDOUT)
config.log_level = :error
如果没有另外说明,

ActiveRecord::Base.logger使用上述配置。要自定义其行为,请设置config.active_record.logger或创建config.after_initialize块并在其中设置ActiveRecord::Base.logger

这样,有一个用于配置测试日志记录级别的集中位置,您可以选择输出所有消息或仅输出其中一些消息。

作为备注,执行的查询属于ActiveRecord::Base.logger,并且会在:info级别上记录。因此,为了隐藏它们,请将日志级别设置为高于:info的值。