[英]how to test picasso using unit-test and mockito
我正在学习如何在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));
}
您无法测试的第一种方法,您必须验证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);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.