我正在学习如何在android studio中进行单元测试。如下所示,我想在代码部分测试下面显示的两种方法。
您可以帮助并指导我如何测试这种方法吗?
码
public RequestCreator requestCreatorFromUrl(String mPicUrl)
{
return Picasso.with(mCtx).load(mPicUrl);
}
public void setImageOnImageView(RequestCreator requestCreator, ImageView mImagView)
{
requestCreator.into(mImagView);
}
我的尝试:
@Test
public void whenRequestCreatorFromUrlTest() throws Exception {
Picasso mockPicasso = mock(Picasso.class);
File mockFile = mock(File.class);
Assert.assertNotNull("returned Request creator is not null",
mockPicasso.load(mockFile));
}
答案 0 :(得分:0)
您无法测试的第一种方法,您必须验证Mockito不支持的静态方法的调用。 您可以在
中拆分方法public RequestCreator requestCreator() {
return Picasso.with(mCtx);
}
和
public void load(RequestCreator requestCreator, String picUrl) {
requestCreator.load(picUrl)
}
并测试load(...)
方法。
第二种方法:
模拟requestCreator
。嘲笑imageView
。
使用模拟对象调用方法。
然后使用提供的参数验证requestCreator.into(...)
:
Mockito.verify(requestCreator).into(imageView);