2016-05-13 15 views
5

Bir validatorda android.util.Patterns.EMAIL_ADDRESS olan bir kod var. Bir cihaza karşı çalıştırıldığında iyi çalışır, ancak bu kodu birim testinde çalıştırdığımda, null değerini döndürür. Ayrıca, iç kodu aşağıdaki örnekte kalıp kopyalayıp yapıştırmayı denedim.android.util.Patterns.EMAIL, birim testi sırasında null değerini döndürür

validateEmail1 çalışır // whyyy ???

validateEmail2 Problemin android.jar sınıfların geldiğini tespit

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(); 
} 

cevap

5

Tamam null döndürür. Bu sınıflar birim testi sırasında alay edilir (bkz. Tools.android.com/tech-docs/unit-testing-support) ve sınıfı test etmek için robolektrik kullanmam gerekir.

İlgili konular