Vla*_*ari 2 android junit4 mockk
目前,我正在使用MockK库(版本1.8.1)在Android Dev中进行单元测试,而我的问题是我无法模拟Patterns.EMAIL_ADDRESS。每次调用此属性时,测试用例都会抛出NPE。
我尝试过mockkStatic(Patterns::class),但是@Before方法在应用规则时因NPE而崩溃every { Patterns.EMAIL_ADDRESS.pattern() } returns EMAIL_REGEX_STRING。
我要测试的课程:
public class EmailValidator {
private static final String EMPTY = "";
private final Context context;
@Inject
public EmailValidator(Context context) {
this.context = context;
}
public String isValidEmail(String email) {
if (StringUtils.isEmpty(email)) {
return context.getString(R.string.sign_up_error_email_empty);
}
if (!email.matches(Patterns.EMAIL_ADDRESS.pattern())) {
return context.getString(R.string.sign_up_error_email_validate);
}
return EMPTY;
}}
Run Code Online (Sandbox Code Playgroud)
尝试使用
PatternsCompat.EMAIL_ADDRESS.pattern()
而不只是
Patterns.EMAIL_ADDRESS.pattern()
那为我做了工作。
| 归档时间: |
|
| 查看次数: |
649 次 |
| 最近记录: |