Comment tester des tâches en arrière-plan (Sidekiq) avec Rspec?
Une grande partie de mon application s'appuie sur les travaux de fond à traiter de l'utilisateur de sites web, donc j'ai besoin d'écrire quelques tests pour couvrir ces.
Première question est de savoir comment tester du code qui est dans un Sidekiq dans la catégorie des travailleurs, par exemple app/workers/some_worker.rb
class SomeWorker
include Sidekiq::Worker
def perform(model_id)
...
end
end
Deuxièmement, comment puis-je stub code comme le suivant de sorte que je n'ai pas besoin pour exécuter des travailleurs et de ralentir le rythme de mes tests?
response = HTTParty.get("http://users-site.com", timeout: 30)
OriginalL'auteur mind.blank | 2013-03-30
Vous devez vous connecter pour publier un commentaire.
Prendre un coup d'oeil à la rspec-sidekiq bijou que j'ai créé pour ce faire (test de Sidekiq travailleurs).
OriginalL'auteur Phil Ostler
Lire la Page de test dans le Sidekiq wiki.
work = HardWorker.new; work.perform(1, 2)
pour exécuter le code. Toujours pas sûr de la façon d'aller sur truquer des sites externes pour les tests.Essayez quelque chose comme un MAGNÉTOSCOPE (relishapp.com/vcr/vcr/docs)
Susmentionnés Sidekiq wiki page de test.
OriginalL'auteur Mike Perham