Я использую sidekiq для очереди задания для проверки ввода поля на модели (ссылку) и перейдите по ссылке, чтобы убедиться, что она не возвращает 404, если она проходит регулярное выражение.Работник Sidekiq не получает очереди в тестировании
Если проверка регулярного выражения проходит и ссылка не возвращается 404, я назначаю другой атрибут той же модели, но в другом поле.
Работник триггера, вызывая метод, метод вызывается после after_commit, on: :update
обратного вызова
Метод срабатывает только работника, если «previous_changes [» объект JSON Я использую, чтобы внести изменения «]» истинно. Это значит, что работник не будет продолжать называться снова и снова.
Все это прекрасно работает в разработке, подтверждено многочисленными прецедентами по QA'ing это сам
Я пытаюсь написать тест в MiniTest, чтобы убедиться, что работник получает в очереди, когда поле в формате JSON модели изменяется но рабочий не ставится в очередь, и для жизни я не могу понять, почему.
Я тестирую ожидания для работника в очередь с:
assert_difference 'WorkerClass.jobs.size' do
site = sites(:site_from_fixtures)
site.attribute_that_triggers_change = { "random" => "json_object" }
site.save
end
Тест возвращений: "Ожидаемый: 1, Actual: 0"
Любой входной сигнал был бы весьма признателен!
Пробовал использовать 'save!' Только для того, чтобы узнать, возможно ли это ошибка проверки (я должен получить другое сообщение об ошибке, которое ожидалось: 1, фактическое: 0, если это была проблема проверки) и не работает:/ Если я обновляю одну и ту же запись в консоли rails (загрузка консоли с RAILS_ENV = тестовые рельсы c) рабочий работает в sidekiq ... Что здесь происходит ?! – NomNomCameron