के लिए विफल रहा है मेरा यूनिट परीक्षण android.util.Log में विधि डी के साथ विफल रहा है, लेकिन जब मैं testDebug चलाता हूं। यदि परीक्षण चल रहा है कृपया सभी ठीक है और वे सही ढंग से पास हो जाते हैं। क्या कोई जानता है कि यह क्यों हो रहा है? वही बात होती है जब कंसोल और एंड्रॉइड स्टूडियो से ग्रेडिंग चलती है।एंड्रॉइड यूनिट टेस्ट डीबग बिल्ड प्रकार
उत्तर
यहां एक स्पष्टीकरण है कि मैंने भविष्य के संदर्भ के लिए इसे कैसे हल किया। डीबग में काम कर रहे परीक्षणों के साथ समस्या लेकिन रिलीज नहीं होने के कारण एक तथ्य यह था कि Log.d (और एंड्रॉइड फ्रेमवर्क से मित्र) सही ढंग से मजाक नहीं किए गए थे। रिलीज के रूप में निर्मित होने पर काम करने का कारण यह है कि हमारी लॉगिंग इस प्रॉपर्टी पर बिल्ड कॉन्फ़िगरेशन से सशर्त थी। असल में हमारे पास है (BuildConfig.type! = "रिलीज") Log.d (...) और चूंकि संकलक अंतिम मान के कारण इस ब्लॉक को हटा देता है, इसे रिलीज़ होने पर कॉल नहीं किया जाता है। स्थैतिक विधि लॉग करने के लिए Log.d मैंने PowerMock का उपयोग किया। मॉकिंग आसान थी लेकिन पावर मॉक सेट करना वास्तव में एक परेशानी है इसलिए शायद इसे करने के लिए बेहतर तरीके हो सकते हैं।
चेकआउट "Method ... not mocked" एंड्रॉइड स्टूडियो प्रोजेक्ट साइट पर लिंक। इसे कहते हैं:
कि इकाई परीक्षण चलाने के लिए किसी भी वास्तविक कोड नहीं है प्रयोग किया जाता है android.jar फ़ाइल - कि असली उपकरणों पर एंड्रॉयड सिस्टम छवि द्वारा प्रदान की जाती है। इसके बजाए, सभी विधियां अपवाद फेंकती हैं (डिफ़ॉल्ट रूप से)। यह सुनिश्चित करना है कि आपके यूनिट परीक्षण केवल आपके कोड का परीक्षण करें और एंड्रॉइड प्लेटफ़ॉर्म के किसी भी विशेष व्यवहार पर निर्भर न हों (जिसे आपने स्पष्ट रूप से मॉकिटो का उपयोग करके मजाक नहीं किया है)। कि समस्याग्रस्त साबित होता है, तो आप अपने build.gradle के लिए नीचे टुकड़ा जोड़ सकते हैं इस व्यवहार को बदलने के लिए:
build.gradle
android {
// ...
testOptions {
unitTests.returnDefaultValues = true
}
}
हम जानते हैं कि डिफ़ॉल्ट व्यवहार जब प्रवेश करें या TextUtils और इच्छा की तरह वर्गों का उपयोग कर रहे हैं समस्याग्रस्त है भावी रिलीज में संभावित समाधान का मूल्यांकन करें।
मैंने अभी उपरोक्त का उपयोग अपवाद से छुटकारा पाने के लिए किया था।
- 1. बिल्ड यूनिट टेस्ट निष्पादन
- 2. एंड्रॉइड बिल्ड टूल्स 1.1.0, यूनिट टेस्ट फ़ोल्डर?
- 3. एंड्रॉइड स्टूडियो डीबग बिल्ड
- 4. यूनिट टेस्ट एंड्रॉइड, संसाधन
- 5. पिचर्म यूनिट टेस्ट इंटरैक्टिव डीबग कमांड लाइन
- 6. यूनिट टेस्ट बिल्ड स्क्रिप्ट कैसे करें?
- 7. एंड्रॉइड - बिल्ड प्रकार
- 8. एंड्रॉइड स्टूडियो सरल यूनिट टेस्ट
- 9. डीबग बिल्ड
- 10. यूनिट टेस्ट
- 11. यूनिट टेस्ट
- 12. एक्सकोड 3 में यूनिट टेस्ट को डीबग कैसे करते हैं?
- 13. बेसिक यूनिट टेस्ट बनाम यूनिट टेस्ट
- 14. यूनिट टेस्ट सत्र विंडो
- 15. डीबग बिल्ड
- 16. यूनिट टेस्ट
- 17. यूनिट टेस्ट
- 18. यूनिट टेस्ट
- 19. यूनिट टेस्ट
- 20. यूनिट टेस्ट
- 21. यूनिट टेस्ट
- 22. डेटा ड्राइव यूनिट टेस्ट
- 23. एंड्रॉइड में यूनिट टेस्ट निजी फ़ंक्शन
- 24. एंड्रॉइड यूनिट टेस्ट संदर्भ की आवश्यकता
- 25. सिंगल यूनिट टेस्ट विफलता पर विफल टीएफएस बिल्ड
- 26. बिल्ड सर्वर पर यूनिट परीक्षण: रिलीज या डीबग कोड?
- 27. टीएफएस बिल्ड टेस्ट परिणाम
- 28. CLR यूनिट टेस्ट परियोजना
- 29. सी # यूनिट टेस्ट
- 30. वीएस 11 देव पूर्वावलोकन यूनिट टेस्ट एक्सप्लोरर यूनिट टेस्ट