Как включить ведение журнала отладки 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 будет отсутствовать.

Ответ 4

набор

config.log_level = :info 

в тестовой среде