在使用Mockito运行Espresso测试时,我目前遇到此问题,"Attempt to read from the field 'int android.content.pm.ApplicationInfo.targetSdkVersion' on a null object reference"在主Activity启动后,异常会随机出现.
这是主Activity的init部分:
private MainActivity subject;
SingleActivityFactory<MainActivity> activityFactory =
new SingleActivityFactory<MainActivity>(MainActivity.class) {
@Override
protected MainActivity create(Intent intent) {
subject = spy(getActivityClassToIntercept());
return subject;
}
};
@Rule public ActivityTestRule<MainActivity> mainActivityRule =
new ActivityTestRule<>(activityFactory, true, false);
@Before
public void init() {
mainActivityRule.launchActivity(null);
}
Run Code Online (Sandbox Code Playgroud)
这是例外:
java.lang.NullPointerException: Attempt to read from field 'int
android.content.pm.ApplicationInfo.targetSdkVersion' on a null object
reference
at android.view.View.getLayoutDirection(View.java:10277)
at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:446)
at android.view.View.measure(View.java:23169)
at android.support.v4.widget.DrawerLayout.onMeasure(DrawerLayout.java:1059)
at android.view.View.measure(View.java:23169)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6749) …Run Code Online (Sandbox Code Playgroud)