【发布时间】:2018-03-10 06:32:35
【问题描述】:
我有一个 Customview 类,我想为它写一个简单的测试。一开始我想检查是否设置了 LayoutParams。
自定义视图类
public class CustomView extends FrameLayout {
public CustomView(@NonNull Context context) {
super(context);
initFrameLayout();
}
public void initFrameLayout() {
LayoutParams layoutParams = new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT);
this.setLayoutParams(layoutParams);
}
}
CustomViewTest 类
public class CustomViewTest {
@Test
public void viewInitializedCorrectly() {
Context context = mock(Context.class);
CustomView customView = new CustomView(context);
int expectedViewWidth = FrameLayout.LayoutParams.MATCH_PARENT;
assertEquals(expectedViewWidth, customView.getLayoutParams().width);
}
测试失败并出现 NullPointerException。我使用调试器检查了该方法,并注意到 FrameLayout 对象存在但没有参数。我也应该嘲笑CustomView.class 吗?
【问题讨论】:
标签: android unit-testing nullpointerexception mockito android-custom-view