परिदृश्य:एंडिनकटास्क और यूआई अपडेट समाधान के साथ एंड्रॉइड यूनिट परीक्षण
मैं अपने आवेदन के ऑनक्लिक हैंडलर का परीक्षण करने की कोशिश कर रहा हूं। ऑनक्लिक एक आरईएसटी एपीआई के खिलाफ एक साधारण खोज करता है, परिणाम देता है और यूआई अपडेट करता है।
विवरण:
Onclick एक AsyncTask कार्यान्वित करता है, doInBackground REST API क्वेरी और परिणाम देता है। OnPostExecute परिणाम लेता है और डेटा के साथ ListView में एक नया ListAdapter असाइन करता है।
समस्या:
onPostExecute परीक्षण रनर द्वारा में बुलाया नहीं प्राप्त करता है, क्योंकि यह एक ही यूआई धागा और ब्लॉक कॉल पर है। इससे निपटने के लिए कई पैटर्न हैं। हालांकि, अगर मैं एक रननेबल में AsyncTask डालता हूं और परिणाम के लिए प्रतीक्षा करने के लिए LatchCountdown का उपयोग करता हूं, तो मुझे कॉलड फ्रॉमवॉन्ग थ्रेड अपवाद मिलता है।
क्या यूनिट अपडेट करने के लिए यूनिसेकटास्क का परीक्षण करने का कोई अच्छा समाधान है? या एक और टेस्टेबल डिजाइन जिसे मैं कार्यान्वित कर सकता हूं?
यह एक गतिविधिInstrumentationTestCase की तरह लगता है ... – dmon
यह एक गतिविधिInstrumentationTestCase2 कक्षा में किया जा रहा है। – bcdennis72
आपका asynctask ठीक चलाना चाहिए ... – dmon