programing

RSpec 테스트에서 ActiveRecord에 대한 SQL 디버그 로깅을 켜려면 어떻게해야합니까?

nasanasas 2020. 9. 17. 07:59
반응형

RSpec 테스트에서 ActiveRecord에 대한 SQL 디버그 로깅을 켜려면 어떻게해야합니까?


내 모델에 대한 몇 가지 RSpec 테스트가 있으며 Rails 서버 모드에서 보는 것처럼 SQL ActiveRecord 로깅을 켜고 싶습니다. 그렇게하는 방법?

나는 내 테스트를 시작한다

RAILS_ENV=test bundle exec rspec my/test_spec.rb

감사


기본적으로 모든 db 쿼리는 이미 테스트 모드로 기록됩니다. 그들은 log/test.log.


테스트 어딘가에서 ActiveRecord 로거를 stdout으로 설정할 수 있습니다. rspec을 사용하는 경우 사양 도우미에 있습니까?

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

세트

config.log_level = :info 

테스트 환경에서


다른 답변이 귀하의 경우에 작동하지 않으면 테스트 환경의 '로그 수준'을 확인하십시오.

기본값은 'debug'이며 Rails에서 생성 한 SQL을 출력합니다. "info"로 설정된 경우 SQL이 누락됩니다.

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

반응형