Zaczynam pracować z testów jednostkowych w Android Ja próbuje przetestować metodę, która wykorzystuje:Test android.util.Patterns Jednostka zwraca NullPointerException
android.util.Patterns.EMAIL_ADDRESS.matcher(validEmail).matches()
powinien powrócić prawda jak dodałem to w mój build.gradle
Nadal test generuje wyjątek NullPointerException.
Mam dwa pytania: 1- Jak to naprawić? 2- Czy powinienem ponownie rozważyć mój projekt i usunąć zależność androida od fałszywego obiektu.
// @ 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());
}
Gdy komentarz android.utills jest komentowany, nie będzie tu wyjątkiem.
pokazać kod. –
Nie jestem twoim kolesiem. I może pomóc dowiedzieć się, czym jest NPE. Teraz musisz użyć debugera, aby dowiedzieć się, która wartość jest pusta. – Jens
Mam do czynienia z tym samym problemem. Zazwyczaj będziesz musiał kpić z Wzoru, aby spróbować z nim walczyć. Jednak nie możesz tego łatwo zrobić. Ten samouczek jest całkiem niezły: (http://bytes.babbel.com/en/articles/2016-05-20-tdd-in-android.html) i pokaż krok po kroku, jak go uzyskać działa –