2011-08-17 6 views
34

मैं एक वेब अनुप्रयोग के सामने के अंत का परीक्षण कर रहा हूं और परीक्षण करना चाहता हूं कि कुछ बदलाव AJAX अनुरोधों के बीच विभिन्न देरी के साथ कैसे दिखाई देते हैं। प्रतिक्रिया में देरी करने के लिए क्या कोई तरीका है कि मैं अपने नियंत्रक को sleep(1500) जोड़ सकता हूं?परीक्षण के लिए रेल नियंत्रक में देरी कैसे जोड़ें?

+1

बस अपनी नियंत्रक कार्रवाई में नींद (1000) कॉल जोड़ें। –

+5

RoR में नींद के लिए डिफ़ॉल्ट इकाई _seconds_ है !! नियंत्रक के लिए नींद 1.5 जोड़ा गया और जीवन अच्छा है। धन्यवाद :) – RSG

उत्तर

66

नियंत्रक तो जैसे:

def catalog 
    #Makes the request pause 1.5 seconds 
    sleep 1.5 

    ... 
end 

और भी बेहतर: केवल देव पर्यावरण के लिए नींद जोड़ें।

9

स्वीकृत उत्तर पर विस्तार से।

class ApplicationController < ActionController::Base 

    # adds 1s delay only if in development env 
    before_filter if: "Rails.env.development?" do 
    sleep 1 
    end 
end 

कहाँ: आप डिफ़ॉल्ट ApplicationController जो किसी अन्य नियंत्रक आप निम्नलिखित फिल्टर परिभाषित कर सकते हैं के लिए बढ़ा दी है जैसे कुछ आधार नियंत्रक है, तो कोई प्रतिक्रिया लौटने से पहले प्रतीक्षा करने के लिए सेकंड की संख्या है, sleep देखना डॉक्स

इस फिल्टर ट्रिगर किया जाएगा केवल यदि आपके आवेदन पर्यावरण विकास में है और यह हर अनुरोध को देरी वांछित जोड़ देगा आपके आवेदन द्वारा संसाधित।

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