在 Recycler View Adapter 中,我有这个方法:
如果我像这样运行我的测试用例,它会在
public void addGridItemsToView(int position, Tile data) {
tileList.add(position, data);
notifyItemInserted(position);
}
我想对这个方法进行单元测试,并检查是否调用了notifyItemInserted(position)
。
这是我的测试类:
public class AdapterTest {
@Mock
private LiveZoneGridAdapter liveZoneGridAdapter;
@Mock
Context context;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
}
@Test
public void addGridItemsToViewNotifiesParentAndAddsItemToTileList() {
liveZoneGridAdapter = spy(new LiveZoneGridAdapter(context));
doNothing().when((RecyclerView.Adapter) liveZoneGridAdapter).notifyItemInserted(anyInt());
liveZoneGridAdapter.addGridItemsToView(0, new Tile("test", 0, 0, "test"));
Mockito.verify(liveZoneGridAdapter).notifyItemInserted(0);
}
}
如果我像这样运行我的测试用例,它会在
RecyclerView.Adapter
类方法notifyItemInserted
上出现NullPointerException
异常。那么我该如何测试这种情况?