101

我对我的模型进行了一些 RSpec 测试,我想打开 SQL ActiveRecord 日志记录,就像我在 Rails 服务器模式中看到的那样。怎么做?

我开始我的测试

RAILS_ENV=test bundle exec rspec my/test_spec.rb

谢谢

4

5 回答 5

383

您可以尝试在某处的测试中将 ActiveRecord 记录器设置为标准输出。如果您正在使用 rspec,也许在规范助手中?

ActiveRecord::Base.logger = Logger.new(STDOUT)
于 2011-04-01T13:50:37.017 回答
57

默认情况下,您的所有数据库查询都将在测试模式下记录。他们会在log/test.log

于 2011-03-09T10:40:16.153 回答
11

config.log_level = :info 

在测试环境中

于 2015-09-01T07:20:29.813 回答
8

如果其他答案在您的情况下不起作用,请检查您的测试环境的“日志级别”。

它的默认值为'debug',它将输出Rails 生成的SQL。如果设置为“info”,则 SQL 将丢失。

于 2012-04-08T23:23:22.483 回答
2

在你的test.rb

Rails.application.configure do
  ...
  config.logger = ActiveSupport::Logger.new(STDOUT)
end
于 2020-03-21T23:11:29.627 回答