में Build.VERSION.SDK_INT का स्टब वैल्यू। मुझे आश्चर्य है कि Build.Version.SDK_INT
के मान को रोकने के लिए वैसे भी है? मान लीजिए मैं ClassUnderTest
में निम्नलिखित लाइनों है:स्थानीय यूनिट टेस्ट
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
//do work
}else{
//do another work
}
मैं सभी कोड कैसे कवर कर सकते हैं?
मेरा मतलब है कि मैं दोनों ब्लॉक दर्ज करने के लिए अलग-अलग SDK_INT के साथ दो परीक्षण चलाने के लिए चाहता हूं।
यह एंड्रॉयड स्थानीय इकाई Mockito
/PowerMockito
का उपयोग कर परीक्षण में संभव है?
धन्यवाद
यह काम नहीं करेगा क्योंकि getField() वैरिएबल नाम और Build.VERSION.SDK_INT के लिए अपेक्षा करता है वास्तव में एक मान है। –
setFinalStatic (Build.VERSION.class.getField ("SDK_INT"), "123"); यदि यह मैकिटो पर PowerMockito काम नहीं करता है और स्थिर क्षेत्र का नकल करता है। – toshkinl
धन्यवाद! काम किया! –