Mockito:如何匹配任何枚举参数
问题内容:
我有这样声明的方法
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);
问题答案:
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);