Antworten:
Standardmäßig werden alle Ihre Datenbankabfragen bereits im Testmodus protokolliert. Sie werden in sein log/test.log
.
tail -f log/test.log
Sie können versuchen, den ActiveRecord-Logger in Ihrem Test irgendwo auf stdout zu setzen. Wenn Sie rspec verwenden, vielleicht im Spezifikationshelfer?
ActiveRecord::Base.logger = Logger.new(STDOUT)
active_record
enthalten ist, da diese die SQL standardmäßig nicht protokollieren.
STDOUT
wurde es neu zugeordnet, und Sie sollten es $stdout
stattdessen verwenden.
Wenn andere Antworten in Ihrem Fall nicht funktionieren, überprüfen Sie bitte die Protokollstufe Ihrer Testumgebung.
Die Standardeinstellung ist "Debug", wodurch die von Rails generierte SQL ausgegeben wird. Wenn es auf "info" gesetzt wurde, fehlt die SQL.
In Ihrem test.rb
:
Rails.application.configure do
...
config.logger = ActiveSupport::Logger.new(STDOUT)
end