我的模型有一些RSpec测试,我想像在Rails服务器模式下一样打开SQL ActiveRecord日志记录。怎么做?
我开始进行测试
RAILS_ENV=test bundle exec rspec my/test_spec.rb
谢谢
默认情况下,您的所有数据库查询都已经在测试模式下记录。他们将在log/test.log
中。
您可以在测试中的某个地方尝试将ActiveRecord记录器设置为标准输出。如果您使用的是rspec,也许在spec帮助器中?
ActiveRecord::Base.logger = Logger.new(STDOUT)
设置
config.log_level = :info
在测试环境中
如果其他答案在您的情况下不起作用,请检查测试环境的“日志级别”。
其默认值为'debug',它将输出Rails生成的SQL。如果将其设置为“ info”,则将丢失SQL。
在您的test.rb
中:
Rails.application.configure do
...
config.logger = ActiveSupport::Logger.new(STDOUT)
end