android - Simulate no network using Retrofit and MockWebServer -


मैं RetroFit और MockWebServer ।

मैं वर्तमान में एस्प्रेसो का उपयोग कर परीक्षण कर रहा हूं और अपने परीक्षणों को शुरू करने से पहले MockWebServer s url को RestAdapter में आपूर्ति कर रहा हूं यह सर्वर प्रतिक्रियाओं और इतने पर मजाक के लिए बहुत अच्छा काम करता है, लेकिन मैं एक java.net.ConnectException स्क्रिप्ट को एक सरल तरीका नहीं देख सकता जब कोई डिवाइस पर कोई नेटवर्क नहीं है। मैं देख सकता हूँ कि MockResponse थ्रॉटलिंग सिमुलेशन और इसी तरह की अनुमति देता है, लेकिन कस्टम अपवाद नहीं।

मुझे पता है कि मैं retrofit द्वारा उपयोग किए गए वास्तविक वेब एपीआई इंटरफ़ेस का मजाक उड़ा सकता हूं, लेकिन मैं अपने दूसरे परीक्षणों के उपयोग के लिए उपयोग करना चाहूंगा जैसा कि MockWebServer ।

मुझे लगता है मैं बस कुछ सरल याद किया है:)

धन्यवाद

रेट्रोफ़िट में एक रेट्रोफ़िट-नकल मॉड्यूल है जो एक MockRestAdapter वर्ग प्रदान करता है जिसका उद्देश्य नेटवर्क देरी और त्रुटियों का अनुकरण करना है।

यह आपकी सेवा का एक उदाहरण बनाने के लिए सामान्य रेस्टएडएप्टर के साथ संयोजन में उपयोग किया जाता है आप रेपो के samples / mock-github-client / फ़ोल्डर में एक पूर्ण उदाहरण देख सकते हैं:

MockRestAdapter इन एपीआई प्रदान करता है:

  • setVariancePercentage - प्लस-या-शून्य विचरण सेट करें नेटवर्क राउंड ट्रिप विलम्ब का प्रतिशत।
  • setErrorPercentage - कॉल की प्रतिशत को सेट करें calculateIsFailure () वापस true ।

    अपने परीक्षण में, आप यह सुनिश्चित करने के लिए कि एक नेटवर्क त्रुटि उत्पन्न होगी setErrorPercentage (100) को कॉल कर सकते हैं। डिफ़ॉल्ट रूप से त्रुटि को फेंकने के लिए समय की मात्रा 0 से 3x देरी से कहीं भी है त्वरित परिणामों के लिए 0 में देरी निर्धारित करें।

  • Comments

    Popular posts from this blog

    php - how to change mysql_result($res, 0, "url"); to mysqli -

    c# - How to clone a HttpRequestMessage when the original request has Content? -

    split - php explode string with Uppercase if lowercase letter exists before it without space -