Как включить ведение журнала отладки SQL для ActiveRecord в тестах RSpec? - PullRequest
82 голосов
/ 09 марта 2011

У меня есть несколько тестов RSpec для моих моделей, и я хотел бы включить ведение журнала SQL ActiveRecord, как я вижу в режиме сервера Rails. Как это сделать?

Я начинаю свои тесты с

RAILS_ENV=test bundle exec rspec my/test_spec.rb

Спасибо

Ответы [ 4 ]

294 голосов
/ 01 апреля 2011

Вы можете попытаться настроить регистратор ActiveRecord на стандартный вывод в вашем тесте где-нибудь. Если вы используете rspec, может быть, в spec-помощнике?

ActiveRecord::Base.logger = Logger.new(STDOUT)
50 голосов
/ 09 марта 2011

По умолчанию все ваши запросы к БД будут регистрироваться уже в тестовом режиме.Они будут в log/test.log.

9 голосов
/ 01 сентября 2015

набор

config.log_level = :info 

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

6 голосов
/ 09 апреля 2012

если другие ответы не работают в вашем случае, пожалуйста, проверьте «уровень журнала» вашей тестовой среды.

по умолчанию это 'debug', который выведет SQL, сгенерированный Rails. если было установлено «info», SQL будет отсутствовать.

...