2010-10-06 26 views
5

Uzun süreli çalışan işlemlerden bazılarını çalıştırmak için DelayedJob kullanıyoruz ve Salatalık/Webrat ile test etmek istiyoruz.DelayedJob'u Salatalık ile nasıl test edebilirim?

Şu anda, iş arka planda halletmek için bir Ruby dizisindeki Gecikmeli :: Job.work_off aradığınız ama daha sağlam bir solüsyon

bunun için en iyi yaklaşım nedir arıyorsun?

Teşekkürler.

+0

Çoğu kişi Gecikmeli kullanım: Job.work_off .. sorun nasıl görünüyor? –

+1

'Gecikmeli :: Job.work_off' kullanımdan kaldırıldı. Bunun yerine Gecikmeli :: Worker.new.work_off kullanın. – Jonathan

cevap

1

Delayed:Job.work_off yaklaşımında gördüğüm en büyük sorun, Salatalık senaryolarınızda, sisteminizin iç tarafına ait olan bir şeyi açık bir şekilde oluşturuyor olmanızdır. Her iki kaygıları Karıştırma fonksiyonel testler ruhuna aykırıdır:

When I click some link # Some operation is launched in the background 
And Jobs are dispatched # Delayed:Job.work_off invoked here 
Then I should see the results... 

başka sorun size gerektiğinde işleri dağıtmaktan tekrarlayan adımlarla Salatalık senaryoları doldurmak olmasıdır.

Şu anda kullanmakta olduğum yaklaşım launching delayed_job in the background while cucumber scenarios are being executed. Bu bağlantıda kullandığım Salatalık kancalarını kontrol edebilirsiniz.

+0

ekli blog yayını uygulaması gecikmeli bir işe başlıyor, ancak aslında onları çalıştırmıyor – siamii

+0

Bağlantı ölü, bu yüzden cevabınıza her zaman çözümün bir özetini eklemeniz gerekir. –

İlgili konular