2012-11-15 15 views
5

मैंने रीडमे के अनुसार devise_async के निर्देशों का पालन किया है और मैं डेविस 2.1.2 और delayed_job रोलिंग कर रहा हूं। मेरे ककड़ी परीक्षणों में, मुझे अब साइन-अप प्रक्रिया के हिस्से के रूप में पुष्टिकरण ईमेल प्राप्त नहीं होता है। क्या परीक्षण के हिस्से के रूप में मुझे कुछ करना चाहिए? मैंने पहले से ही अपने परीक्षण माहौल में निम्नलिखित स्थापित करके परीक्षण के लिए वास्तविक देरी को छोड़ने में देरी की नौकरी निर्धारित की है।मैं ककड़ी के साथ काम कर devise_async कैसे प्राप्त करूं?

Delayed::Worker.delay_jobs = false 

लेकिन इस सेट के साथ भी सच है, फिर भी यह धीरे-धीरे विफल रहता है, हालांकि धीरे-धीरे। अगर मैं devise_async मणि और प्रासंगिक लाइनों को हटा देता हूं, तो सब कुछ वापस जीवन में फट जाता है।

धन्यवाद, ग्रीम

+0

देखें मैं भी ककड़ी के साथ काम करने devise_async पाने के लिए संघर्ष कर रहा हूँ। हम sidekiq का उपयोग कर रहे हैं, देरी नहीं_बॉइस, इसलिए आपके समाधान मेरे लिए लागू नहीं होते हैं। मैंने क्लीनर रणनीति को छंटनी के लिए सेट किया है, लेकिन यह अभी भी विफल रहता है। कोई भी जानता है कि इन नाटक को कैसे अच्छी तरह से बनाया जाए? – Jazz

उत्तर

3

डेटाबेस के लिए रिकॉर्ड किए जाने के बाद devise-async का नया संस्करण ईमेल को ट्रिगर करता है। आरएसपीईसी के साथ, प्रत्येक टेस्ट डिफ़ॉल्ट रूप से एक लेनदेन में लपेटा जाता है। क्या ककड़ी वही करता है? उस स्थिति में आपको उन परीक्षण लेनदेन को बंद करना होगा। http://www.denniskuczynski.com/2012/06/22/changing-individual-test-configuration-based-on-passed-in-options.html

+1

हाय डेनिस। मेरी डीबी सफाई रणनीति के लिए छंटनी पर स्विचिंग असफल परीक्षणों को तय करता है। उत्तम सामग्री! अब मैं चयनित परीक्षणों के लिए अधिकांश परीक्षणों और छंटनी के लिए लेनदेन का उपयोग करने के साथ संघर्ष कर रहा हूं, लेकिन मैं इसे एक अलग प्रश्न के लिए सहेज दूंगा। बहुत धन्यवाद, – Simmo

+1

डेनिस, मैं इसे आप का उपयोग करके रणनीतियों को स्विच करने के लिए नहीं मिला। उदाहरण के लिए मुझे अगर कथन को "if example.metadata [: with_transaction_callbacks]" में बदलना पड़ा था। Rspec 2.12.0 – Agustin

+0

@ डेनिस कुक्सिंस्की का उपयोग करके आपने अपने ब्लॉग पर कुछ बदल दिया है और लिंक टूटा हुआ है, कृपया उत्तर में कुछ और विवरण कॉपी करें, google कैश्ड संस्करण http://webcache.googleusercontent.com/search?q=cache:endxdMrzntoJ: www.denniskuczynski.com/2012/06/22/changing-individual-test-configuration-based-on-passed-in-options.html+http://denniskuczynski.com/2012/06/22/changing-individual- परीक्षण-कॉन्फ़िगरेशन-आधारित-ऑन-पास-इन-विकल्प.html और सीडी = 1 और एचएल = पीएल और सीटी = clnk –

1

आप विलंबित :: Worker.new.work_off दृष्टिकोण का उपयोग कर की कोशिश की? यह सुनिश्चित नहीं है कि यह डेविस एसिंक के लिए काम करता है, लेकिन यह पहले ईमेल की जांच के लिए मेरे लिए काम करता था।

इस कदम

Given /^Jobs are being dispatched$/ do 
    Delayed::Worker.new.work_off 
end 

का उपयोग करना और ईमेल परीक्षण से पहले इस चरण चल रहा है?

+0

कोशिश की, लेकिन दुर्भाग्य से यह मेरे लिए काम नहीं किया। – Simmo

2

आप ककड़ी env में लेनदेन

कैसे उपयोग करने के लिए देखना बंद कर सकते हैं:

यहाँ मैं क्या RSpec के लिए उपयोग करते हैं

https://github.com/cucumber/cucumber/wiki/Browsers-and-Transactions

+0

धन्यवाद, यह मेरे लिए काम करता है! –

1

मामले में आप का उपयोग वसीयत-async साइडकीक के साथ, यहां कुछ टिप्पणीकर्ता पूछते हैं, समाधान परीक्षण श्रमिकों को इनलाइन चलाने के लिए है:

require 'sidekiq/testing' 
Sidekiq::Testing.inline! 

https://github.com/mperham/sidekiq/wiki/Testing

संबंधित मुद्दे