Я начинаю работать с модульными тестами в андроиде я пытаюсь проверить метод, который использует:тест android.util.Patterns блок возвращает NullPointerException
android.util.Patterns.EMAIL_ADDRESS.matcher(validEmail).matches()
она должна возвращать верно, как я добавил это в my 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());
}
Когда прокомментирует android.utills, их не будет исключением.
показать свой код. –
Я не твой чувак. И это может помочь узнать, что такое NPE. Теперь вам нужно использовать debuggeer, чтобы узнать, какое значение null – Jens
У меня такая же проблема. Обычно вам нужно высмеивать шаблон, чтобы попытаться сопоставить его. Однако вы легко можете это сделать. Этот урок довольно хорош: (http://bytes.babbel.com/ru/articles/2016-05-20-tdd-in-android.html) и покажите шаг за шагом, как заставить его работать –