我需要为我的Rails应用程序运行测试,但似乎当我执行rake test:all
时,我会将所有日志输出到我的屏幕,包括执行的所有查询和调试消息。
有没有办法只显示通过/失败的测试次数和失败次数(如果有的话?)。类似于Django测试输出的东西。
答案 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
的值。