2016-05-13 9 views
5

के दौरान शून्य लौटाता है मेरे पास एक कोड है जिसमें एक validator में android.util.Patterns.EMAIL_ADDRESS है। जब यह किसी डिवाइस के विरुद्ध चलाया जाता है तो यह ठीक चलता है लेकिन जब मैं इस कोड को यूनिट टेस्ट में चलाता हूं, तो यह शून्य हो जाता है। इसके अलावा, मैंने निम्नलिखित उदाहरण के रूप में पैटर्न में आंतरिक कोड की प्रतिलिपि बनाने और चिपकाने का प्रयास किया।android.util.Patterns.EMAIL यूनिट परीक्षण

validateEmail1 काम करता है // whyyy ???

validateEmail2 अशक्त

private static final Pattern EMAIL = Pattern.compile(
     "[a-zA-Z0-9\\+\\.\\_\\%\\-\\+]{1,256}" + 
       "\\@" + 
       "[a-zA-Z0-9][a-zA-Z0-9\\-]{0,64}" + 
       "(" + 
       "\\." + 
       "[a-zA-Z0-9][a-zA-Z0-9\\-]{0,25}" + 
       ")+" 
); 

public boolean validateEmail1(String email) { 
    return EMAIL.matcher(email).matches(); 
} 

public boolean validateEmail2(String email) { 
    return Patterns.EMAIL_ADDRESS.matcher(email).matches(); 
} 

उत्तर

5

ठीक रिटर्न मैंने पाया कि समस्या android.jar में कक्षाओं से आता है। ये कक्षाएं यूनिट परीक्षण के दौरान मजाक की जाती हैं (tools.android.com/tech-docs/unit-testing-support देखें) और मुझे कक्षा का परीक्षण करने के लिए रोबॉलेक्ट्रिक का उपयोग करना होगा।

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