Заранее спасибо! Sidekiq работает нормально, но я не могу проверить его с помощью Devise Async, или я должен сказать, что я не могу проверить последнее?Как протестировать асинхронный режим с Sidekiq?
Согласно документации Sidekiq, когда режим тестирования установлен на подделку!, Любое задание, заданное работнику, переносится в массив с именем jobs
того же работника. Так что тривиально проверять увеличение этого массива.
Но, с помощью Devise Async, это не так тривиально, хотя его бэкэнд включает Sidekiq::Worker
. Вот небольшой список вещей, которые я пытался испытания:
Devise::Async::Backend::Sidekiq.jobs
Devise::Mailer.deliveries
ActionMailer::Base.deliveries
Devise::Async::Backend::Worker.jobs
Ни один из этих испытательных предметов не указывает увеличение размера. Поскольку Devise отправляет свои электронные письма в качестве обратных вызовов моделей, я пробовал тестировать как в модели, так и в спецификации контроллера. Используя Factory Girl и Database Cleaner, я также попробовал оба режима: транзакцию и усечение. Излишне говорить, что я также пробовал оба режима Sidekiq: подделка! и inline !.
Что мне не хватает?
Я пытался так много вещей. Благодаря! – kmanzana