How do I turn on SQL debug logging for ActiveRecord in RSpec tests?

穿精又带淫゛_ 提交于 2019-12-20 08:09:12

问题


I have some RSpec tests for my models and I would like to turn on SQL ActiveRecord logging just like I see in the Rails server mode. How to do that?

I start my tests with

RAILS_ENV=test bundle exec rspec my/test_spec.rb

Thanks


回答1:


By default, all your db queries will be logged already in test mode. They'll be in log/test.log.




回答2:


You could try setting the ActiveRecord logger to stdout in your test somewhere. If you're using rspec, maybe in the spec helper?

ActiveRecord::Base.logger = Logger.new(STDOUT)



回答3:


set

config.log_level = :info 

in test environment




回答4:


if others answers don't work in your case, please check the 'log level' of your test environment.

its default is 'debug', which will output the SQL generated by Rails. if it was set to "info", the SQL will be missing.



来源:https://stackoverflow.com/questions/5244486/how-do-i-turn-on-sql-debug-logging-for-activerecord-in-rspec-tests

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!