2009-11-17 2 views
0

J'ai un employé BackgroundRb en ​​charge de l'envoi de certains courriels.Puis-je désactiver certains travailleurs BackgroundRb pendant les tests?

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

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

Répondre

1

Je dirais que je l'écrase dans vos tests.

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

Middleman.stub!(:worker) 

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

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

mais il ne fonctionnera pas. Sur une note de côté, je dirais aussi que BackgroundRb n'est pas une technologie à jour et qu'il y a de meilleures solutions de travail en arrière-plan maintenant. Je dirais regarder quelque chose comme un travail retardé.

+0

Merci pour le conseil, je vais regarder en ce moment :) – Julien

Questions connexes