私はテストに新しいです、そして、私はこの問題を抱えています。static final finalフィールドの内部メソッドにアクセスするテストメソッドは、エラーを返します
これは
ソースファイル----->
import android.util.Patterns;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class CommonFunctions {
private Context context;
public CommonFunctions(Context context) {
this.context = context;
}
//to check whether email is valid or not
public boolean isEmailValid(String email) {
Pattern pattern = Patterns.EMAIL_ADDRESS;
Matcher matcher = pattern.matcher(email);
return matcher.matches();
}
}
"Patterns.EMAIL_ADDRESSは" android.util.Patterns EMAIL_ADDRESSからである電子メールの検証のための方法が含まれていCommonFunctionsの私のクラスですstatic finalフィールド
私のテストコード使用してJUnitのとMockito
import android.content.Context;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.*;
@RunWith(MockitoJUnitRunner.class)
public class CommonFunctionsTest {
@Mock
Context mMockContext;
@Test
public void isEmailValid() throws Exception {
CommonFunctions commonFunctions = new CommonFunctions(mMockContext);
assertThat(commonFunctions.isEmailValid("[email protected]"), is(true));
}
}
エラー:この行でのjava.lang.NullPointerException:CommonFunctionクラス
'パターン' のisEmailValid方法で
Matcher matcher = pattern.matcher(email);
はそれをテストしながら、つまりまだ
nullですandroid.util.Patternsから「Patterns.EMAIL_ADDRESS」にアクセスできません。EMAIL_ADDRESSは静的最終フィールドです。
ありがとうございます事前に