您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用Mockito与具有相同参数的多次调用相同方法

使用Mockito与具有相同参数的多次调用相同方法

你可以使用thenAnswer方法来做到这一点(与链接when):

when(someMock.someMethod()).thenAnswer(new Answer() {
    private int count = 0;

    public Object answer(InvocationOnMock invocation) {
        if (count++ == 1)
            return 1;

        return 2;
    }
});

或使用等效的静态doAnswer方法

doAnswer(new Answer() {
    private int count = 0;

    public Object answer(InvocationOnMock invocation) {
        if (count++ == 1)
            return 1;

        return 2;
    }
}).when(someMock).someMethod();

怎么样

when( method-call ).thenReturn( value1, value2, value3 );

你可以在thenReturn的括号中放入任意数量的参数,只要它们都是正确的类型即可。第一次调用方法时将返回第一个值,然后将返回第二个答案,依此类推。一旦所有其他值用完,将重复返回最后一个值。

其他 2022/1/1 18:24:20 有344人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶