2013-03-01 2 views
2

Я пытаюсь написать тест, чтобы гарантировать, что мы не запускаем больше запросов, чем необходимо. Я нашел тестовый файл ActiveRecord и попытался наследовать его. В этом тестовом примере есть несколько полезных методов, таких как assert_queries (num). Проблема - она ​​не работает в 3.2.12, и она устарела.Тестирование запросов запросов на рельсы

Есть ли где-нибудь доступ к журналу запросов? Я открываю оболочку pry во время одного из моих тестовых случаев, пытаясь проверить какой-либо объект ведения журнала запросов. Нет кубиков.

Немного по этим строкам - есть ли какие-либо средства для регистрации обратных вызовов за пределами модели? Например, я хочу зарегистрировать блок, который прослушивает все методы сохранения объектов.

ответ

2

«Есть ли какие-либо средства для регистрации обратных вызовов за пределами модели?»

ActiveRecord :: Наблюдатель должен делать именно то, что вы хотите. Этот код «отмечает» комментарий модель:

class CommentObserver < ActiveRecord::Observer 
    def after_save(comment) 
    Notifications.comment("[email protected]", "New comment was posted", comment).deliver 
    end 
end 

Дополнительные примеры и расширенного использования см http://api.rubyonrails.org/classes/ActiveRecord/Observer.html

Смежные вопросы