У меня есть несколько тестов RSpec для моих моделей, и я хотел бы включить ведение журнала SQL ActiveRecord так же, как я это вижу в режиме сервера Rails. Как это сделать?
Я начинаю свои тесты с
RAILS_ENV=test bundle exec rspec my/test_spec.rb
Благодарность
tail -f log/test.log
Вы можете попробовать установить для регистратора ActiveRecord значение stdout в вашем тесте. Если вы используете rspec, может быть, в помощнике по спецификации?
источник
active_record
включенным, поскольку они не регистрируют SQL по умолчанию.STDOUT
он был переназначен, и вы должны использовать$stdout
вместо него.задавать
config.log_level = :info
в тестовой среде
источник
если другие ответы не работают в вашем случае, проверьте «уровень журнала» вашей тестовой среды.
по умолчанию он «отладка», который выводит SQL, сгенерированный Rails. если он был установлен в "info", SQL будет отсутствовать.
источник
В вашем
test.rb
:Rails.application.configure do ... config.logger = ActiveSupport::Logger.new(STDOUT) end
источник