Подтвердить что ты не робот

Как показать журнал запросов SQL, созданный с помощью теста RSpec?

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

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

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

4b9b3361

Ответ 1

Поместите это в свои спецификации:

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

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

Ответ 2

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

ap Model.explain