16

पर एक गतिविधि का पालन करते समय मैं एक विशिष्ट टुकड़े का परीक्षण कैसे करूं? मेरे ऐप में Fragments के लिए एक Activity शामिल है।एंड्रॉइड एस्प्रेसो: कई टुकड़े आर्किटेक्चर

मैं Fragments के यूआई का परीक्षण करने के लिए एस्प्रेसो का उपयोग करना चाहता हूं। हालांकि मैं एक समस्या में भाग गया।

मैं Fragment का परीक्षण कैसे कर सकता हूं जो onCreate में Activity में नहीं जोड़ा गया है। Fragments के साथ मैंने देखा है कि सभी उदाहरण FragmentonCreate में जोड़े जा रहे हैं। तो मैं एस्प्रेसो को एक विशिष्ट Fragment पर जाने के लिए कैसे कह सकता हूं और वहां से शुरू कर सकता हूं?

धन्यवाद

उत्तर

0

एस्प्रेसो Fragments केवल अगर वे प्रदर्शित किए जाते हैं परीक्षण कर सकते हैं। और इसके लिए उन्हें Activity द्वारा प्रदर्शित करने की आवश्यकता है।

अपने वर्तमान सेटअप के साथ आपको एस्प्रेसो को click() पर Fragment पर अपना रास्ता (जैसे उपयोगकर्ता होगा) का उपयोग करना होगा, जिसे आप वास्तव में परीक्षण करना चाहते हैं।

मेरी परियोजनाओं में से एक में मेरे पास ViewPager है जो Fragments प्रदर्शित करता है। उन Fragments के लिए मैं अलगाव में उनका परीक्षण करने के लिए एक कस्टम FragmentTestRule का उपयोग करता हूं। मैं प्रत्येक Fragment सीधे शुरू कर सकता हूं और इसका परीक्षण करने के लिए एस्प्रेसो का उपयोग कर सकता हूं। this answer देखें।

तुम भी किए जा सकेंगे:

  • Fragments प्रयोग न करें। Activities परीक्षण करना आसान है। आप प्रत्येक Activity अपने आप परीक्षण कर सकते हैं। ज्यादातर मामलों में FragmentsActivities पर कोई लाभ नहीं प्रदान करता है। Fragments बस कार्यान्वयन और परीक्षण को और अधिक कठिन बनाते हैं।
  • इसे बनाए जाने पर Fragment को सीधे दिखाने के लिए अपने FragmentActivity को सक्षम करें। जैसे अपने FragmentActivity पर अतिरिक्त विशेष उद्देश्य प्रदान करके। लेकिन यह आपके ऐप में परीक्षण कोड जोड़ देगा, जो आमतौर पर एक अच्छा समाधान नहीं है।
+15

टुकड़ों का उपयोग न करें ??? –

+0

[FragmentTestRule] (https://github.com/21Buttons/FragmentTestRule) यह लिंक किए गए उत्तर का एक अपूर्णता है। –

+7

टुकड़े गतिविधियों की तुलना में तेज़ी से लोड होते हैं (वे स्मृति में प्री-लोड भी हो सकते हैं), वे मॉड्यूलरलाइजेशन और घटकों का पुन: उपयोग करने की अनुमति देते हैं, और पूर्ण स्क्रीन प्रदर्शित करने की आवश्यकता नहीं होती है (उन्हें किसी अन्य दृश्य की तरह लेआउट में रखा जा सकता है)। टुकड़े बहुत लोकप्रिय हैं क्योंकि वे एक गतिविधि पर बहुत सुधार करते हैं। Fragments कहने का कोई फायदा नहीं है अविश्वसनीय रूप से गलत है, और उनका उपयोग करने का लाभ परीक्षण कठिनाई से कहीं अधिक है। – OldSchool4664

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