小编Ale*_*ret的帖子

如何在android中对这行LayoutInflater.from()进行单元测试

嗨我正在构建一个简单的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);
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用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);
}
Run Code Online (Sandbox Code Playgroud)

提前致谢.

tdd android unit-testing

11
推荐指数
1
解决办法
2517
查看次数

标签 统计

android ×1

tdd ×1

unit-testing ×1