首页 > 解决方案 > 具有许多参数的 Mockito 存根方法

问题描述

我想存根一个有 6 个参数的方法,而不必每次都写 any()

所以而不是

 when( service.method(any() , any() , any() , .. ).thenReturn( new  ArrayList<>() ) ;

有没有可能以某种方式写

 when( servicemethod( *anyNumberOfArgument()* )thenReturn( new ArrayList<>() ) ;

标签: javaspring-bootmockitospring-testspringmockito

解决方案


您可以简单地编写一个小辅助方法:

private OngoingStubbing<List<String>> whenServiceMethodIsCalled() {
    return when(service.method(any(), any(), any(), any(), any(), any()));
}

然后从您的测试代码中使用它:

whenServiceMethodIsCalled().thenReturn(new ArrayList<>());

推荐阅读