Как включить ведение журнала отладки SQL для ActiveRecord в тестах RSpec?
У меня есть некоторые тесты RSpec для моих моделей, и я хотел бы включить ведение журнала SQL ActiveRecord, как я вижу в режиме сервера Rails. Как это сделать?
Я начинаю свои тесты с
RAILS_ENV=test bundle exec rspec my/test_spec.rb
Спасибо
Ответ 1
По умолчанию все ваши запросы db будут регистрироваться уже в тестовом режиме. Они будут в log/test.log.
Ответ 2
Вы можете попробовать установить регистратор ActiveRecord на stdout в вашем тесте где-нибудь. Если вы используете rspec, возможно, в помощнике spec?
ActiveRecord::Base.logger = Logger.new(STDOUT)
Ответ 3
Если другие ответы не работают в вашем случае, проверьте уровень журнала тестовой среды.
его по умолчанию является "debug", который выведет SQL, сгенерированный Rails. если он настроен на "info", SQL будет отсутствовать.