Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Junit 如何使用Mockito测试void方法_Junit_Mockito_Junit4 - Fatal编程技术网

Junit 如何使用Mockito测试void方法

Junit 如何使用Mockito测试void方法,junit,mockito,junit4,Junit,Mockito,Junit4,下面代码部分中发布的方法返回void。我想知道如何测试返回void的方法。 我检查了一些答案,但是使用了“doThrow()”并传递了一个异常,但是在我的例子中,该方法不会抛出任何异常 请让我知道如何测试返回void的方法 代码 public void setImageOnImageView(RequestCreator requestCreator, ImageView imgView) { requestCreator.into(imgView); } 测试: public cla

下面代码部分中发布的方法返回void。我想知道如何测试返回void的方法。 我检查了一些答案,但是使用了“doThrow()”并传递了一个异常,但是在我的例子中,该方法不会抛出任何异常

请让我知道如何测试返回void的方法

代码

public void setImageOnImageView(RequestCreator requestCreator, ImageView imgView) {
    requestCreator.into(imgView);
}
测试

public class ValidationTest {
    @Mock
    private Context mCtx = null;
    @Rule
    public MockitoRule mockitoRule = MockitoJUnit.rule();

    @Before
    public void setUp() throws Exception {
        mCtx = Mockito.mock(Context.class);
        Assert.assertNotNull("Context is not null", mCtx);
    }

    @Test
    public void setImageOnImageView() throws Exception {
        Uri mockUri = mock(Uri.class);
        RequestCreator requestCreator = Picasso.with(mCtx).load(mockUri);
        RequestCreator spyRequestCreator = spy(requestCreator);
        ImageView imageView = new ImageView(mCtx);
        ImageView spyImageView = spy(imageView);

        doThrow().when(spyRequestCreator).into(spyImageView);
        //spyRequestCreator.into(spyImageView);
    }
}

你到底想测试什么?该测试是否“当调用
setImageOnImageView(RequestCreator,ImageView)
时,它调用
RequestCreator.into(ImageView)

如果这就是您要测试的内容,那么您不想测试它是否“返回void”。相反,我会推荐如下内容:

@Test
public void itInvokesRequestCreatorIntoOnProvidedImageView() {
    RequestCreator creator = mock(RequestCreator.class);
    ImageView imageView = mock(ImageView.class);

    setImageOnImageView(creator, imageView);
    verify(creator).into(imageView);
}

谢谢,现在可以用了。请看一下我的问题:我正在尝试测试一个方法,但是测试用例失败了