Mockito thenReturn返回null

时间:2016-12-20 22:19:47

标签: java mockito

我已经和它搏斗了一段时间,作为Java和Mockito新手,我希望这是一个类似的愚蠢错误。

我的方法看起来像

public WrapperObject<Void> myMethod(...) {
    WrapperObject<Object1> o1 = getObject1FromWebServiceAndWrapIt(buildVar1(a));

    ...

    private buildVar1(a) {
        return someVar;
    }
}

@Test
public void testMyMethod() throws Exception {
    Mockito.when(getObject1FromWebServiceAndWrapIt(MOCK_VAR1, MOCK_VAR2)).thenReturn(WrapperObject.of(MOCK_o1));
    ...
}

即使在这个简单的情况下,我希望o1的值为MOCK_o1,而是将其解析为null

我尝试过Mockito.doReturn().when()模式,但也无法返回除null之外的任何内容。

我很抱歉这个简短的代码示例,但它处于一堆垃圾的中间,很难将这一切粘贴在这里。有没有人认识到一些可怕的模式?

1 个答案:

答案 0 :(得分:0)

这个问题措辞不当,但答案却与问题无关。

问题最终与Mockito.any()模拟varargs的事实有关。我使用的方法需要传递varargs的模拟对象。

您可以使用Mockito.anyVararg()来解决此问题。