我正在使用Mockito& JUnit的。我试图模拟一个方法,它采用固定类型的vararg参数。
我试图模拟的方法的伪代码:
public class Alpha {
public String test(String...args){return "abcd";}
}
我希望测试代码:
Alpha alphaMock = Mockito.mock(Alpha.class);
when(alphaMock.test(anyVararg(String.class)).thenReturn("success");
但是Mockito.anyVararg()并没有采用类型参数。我们如何处理这种情况?
答案 0 :(得分:2)
anyVararg
是参数化方法。尝试:
Alpha alphaMock = Mockito.mock(Alpha.class);
when(alphaMock.test(Matchers.<String> anyVararg())).thenReturn("success");
答案 1 :(得分:1)
您可以尝试直接将anyVarag()转换为String,例如: -
当(alphaMock.test((字符串)anyVararg())thenReturn( “成功”);
答案 2 :(得分:0)
尝试使用数组:
any(String[].class)
因为这就是vararg本质上是