Как показать журнал запросов SQL, созданный тестом RSpec? - PullRequest
29 голосов
/ 30 июля 2011

Я пишу спецификацию для моего приложения rails 3. Я хочу проверить, что транзакции БД действительно работают. Было бы очень полезно увидеть, как мои приложения генерируют sql-запросы, пока они управляются спецификацией.

Есть ли способ увидеть запросы так же, как в консоли rails?

Я использую Rails 3.0.9, RSpec 2.6 и sqlite (перейду на mysql позже)

Ответы [ 2 ]

67 голосов
/ 30 июля 2011

Включите это в свои спецификации:

ActiveRecord::Base.logger = Logger.new(STDOUT) if defined?(ActiveRecord::Base)

, и вы сможете tail -f log/test.log и посмотреть, что происходит.Либо один, но не оба.

0 голосов
/ 24 мая 2019

Согласно Rails 5 документов ( Активная запись Объясните ). Теперь вы можете использовать метод объяснения. Это будет регистрировать только те запросы, которые вы укажете, но вы не будете перегружены, если перед тестами у вас будет большой объем кода SQL.

ap Model.explain
...