मैं एंड्रॉयड में इकाई परीक्षण मैं एक विधि का उपयोग करता है परीक्षण करने के लिए कोशिश कर रहा है के साथ काम करने शुरू कर:android.util.Patterns यूनिट परीक्षण, NullPointerException
android.util.Patterns.EMAIL_ADDRESS.matcher(validEmail).matches()
यह सच लौटना चाहिए के रूप में मैं इस जोड़ा मेरा build.gradle
testOptions {
unitTests {
returnDefaultValues = true
}
}
फिर भी परीक्षण एक NullPointerException फेंकता है।
मेरे दो प्रश्न हैं: 1- मैं इसे कैसे ठीक करूं? 2- क्या मुझे अपने डिज़ाइन पर पुनर्विचार करना चाहिए और एक मॉक ऑब्जेक्ट पर एंड्रॉइड निर्भरता को हटा देना चाहिए।
// @ LoginPresenterTest
@Test
public void clickOnLogin_loginSuccess(){
loginPresenter.login(validEmail, validPassword);
verify(loginView).setLoginButton(false);
}
// LoginPresenter
public void login(String email, String password) {
loginView.setLoginButton(false);
if(!isValid(email, password)){
loginView.setLoginButton(true);
return;
}
}
// Validation
public static boolean isEmailValid(String email){
return !(email.isEmpty() || !android.util.Patterns.EMAIL_ADDRESS.matcher(email).matches());
}
जब एंड्रॉइड.यूटल्स पर टिप्पणी की जाती है तो उनकी कोई अपवाद नहीं होगी।
अपना कोड दिखाएं। –
मैं तुम्हारा दोस्त नहीं हूँ। और यह जानने में मदद कर सकता है कि एनपीई क्या है। अब आपको एक डिबगर का उपयोग करना है, यह पता लगाने के लिए कि कौन सा मान शून्य है – Jens
मुझे एक ही समस्या का सामना करना पड़ रहा है। इसके खिलाफ प्रयास करने और मैच करने के लिए आपको आमतौर पर पैटर्न को नकल करने की आवश्यकता होगी। हालांकि आप आसानी से ऐसा नहीं कर सकते हैं। यह ट्यूटोरियल बहुत अच्छा है: (http://bytes.babbel.com/en/articles/2016-05-20-tdd-in-android.html) और इसे चरणबद्ध तरीके से दिखाएं कि यह कैसे काम कर रहा है –