繁体   English   中英

如何使用单元测试和Mockito测试毕加索

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM