【发布时间】:2016-02-23 08:30:12
【问题描述】:
您好,我正在构建一个简单的 RecycleView 适配器并尝试测试适配器的所有方法,但 onCreateViewHolder 对我来说很困难。
@Override
public NewsViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.fragment_news,parent,false);
return new NewsViewHolder(v);
}
我尝试使用 mockito 构建 viewGroup 类的模拟,并在调用 getContext() 时返回 MockContext 的间谍,但似乎是因为我返回一个 MockContext LayoutInflater.from() 返回一个空指针异常。
这是我的测试
@Test
public void testOnCreateViewHolder() throws Exception {
ViewGroup vg = mock(ViewGroup.class);
MockContext mockContext = new MockContext();
MockContext spyContext = spy(mockContext);
when(vg.getContext()).thenReturn(spyContext);
NewsViewHolder vh = adapter.onCreateViewHolder(vg, 0);
Assert.assertNotNull("Response cant be null",vh);
}
提前致谢。
【问题讨论】:
-
你得到答案了吗?
-
没有朋友,最后公司决定将此功能作为集成测试进行测试
标签: android unit-testing tdd