我将此方法声明为此
private Long doThings(MyEnum enum, Long otherParam);
和这个枚举
public enum MyEnum{
VAL_A,
VAL_B,
VAL_C
}
问题:如何模拟doThings()
来电?
我无法匹配任何MyEnum
。
以下不起作用:
Mockito.when(object.doThings(Matchers.any(), Matchers.anyLong()))
.thenReturn(123L);
答案 0 :(得分:48)
Matchers.any(Class)
可以解决问题:
Mockito.when(object.doThings(Matchers.any(MyEnum.class), Matchers.anyLong()))
.thenReturn(123L);
作为旁注:请考虑使用Mockito
静态导入:
import static org.mockito.Matchers.*;
import static org.mockito.Mockito.*;
模拟变得更短:
when(object.doThings(any(MyEnum.class), anyLong())).thenReturn(123L);
答案 1 :(得分:0)
除上述解决方案外,试试这个......
when(object.doThings((MyEnum)anyObject(), anyLong()).thenReturn(123L);