Abd*_*lat 6 android unit-testing junit4
我开始使用android中的单元测试我试图测试一个使用的方法:
android.util.Patterns.EMAIL_ADDRESS.matcher(validEmail).matches()
Run Code Online (Sandbox Code Playgroud)
它应该返回true,因为我在build.gradle中添加了它
testOptions {
unitTests {
returnDefaultValues = true
}
}
Run Code Online (Sandbox Code Playgroud)
测试仍会抛出NullPointerException.
我有两个问题:1-如何解决这个问题?2-我应该重新考虑我的设计并将android依赖项移除到模拟对象.
// @ 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());
}
Run Code Online (Sandbox Code Playgroud)
当android.utills被评论时,他们也不例外.
| 归档时间: |
|
| 查看次数: |
1545 次 |
| 最近记录: |