/ / Puis-je désactiver certains travailleurs de BackgroundRb pendant les tests? - ruby-on-rails, testing, backgroundrb

Puis-je désactiver certains travailleurs de BackgroundRb pendant les tests? - ruby-on-rails, testing, backgroundrb

J'ai un employé de BackgroundRb chargé d'envoyer des emails.

Comment devrais-je dire à ce travailleur de ne pas courir pendant les tests? Le framework inclut-il un paramètre de configuration ou un stub worker que je pourrais utiliser?

MiddleMan.worker(:emails_worker).async_send_mails(:arg => {:emails => emails})

Réponses:

1 pour la réponse № 1

Je dirais que ça rentre dans vos tests.

Si vous utilisez rspec (désolé ce que je sais le mieux), alors:

Middleman.stub!(:worker)

dans votre bloc avant et il vous permettra de l'appeler, et vous pouvez tester qu'il est appelé comme ça

Middleman.should_receive(:worker).with(YOUR_ARGS_HERE)

mais ça ne marchera pas.

Par ailleurs, je dirais que BackgroundRb n'est pas à jour avec la technologie et qu'il existe maintenant de meilleures solutions pour les travailleurs en arrière-plan. Je dirais que regarder quelque chose comme travail retardé.