Geo*_*e D 37 java enums mockito
我有这样的方法声明
private Long doThings(MyEnum enum, Long otherParam);
这个枚举
public enum MyEnum{
VAL_A,
VAL_B,
VAL_C
}
Run Code Online (Sandbox Code Playgroud)
问题:如何模拟doThings()通话?我无法匹敌MyEnum.
以下不起作用:
Mockito.when(object.doThings(Matchers.any(), Matchers.anyLong()))
.thenReturn(123L);
Run Code Online (Sandbox Code Playgroud)
rzy*_*mek 56
Matchers.any(Class) 会做的伎俩:
Mockito.when(object.doThings(Matchers.any(MyEnum.class), Matchers.anyLong()))
.thenReturn(123L);
Run Code Online (Sandbox Code Playgroud)
作为旁注:考虑使用Mockito静态导入:
import static org.mockito.Matchers.*;
import static org.mockito.Mockito.*;
Run Code Online (Sandbox Code Playgroud)
模拟变得更短:
when(object.doThings(any(MyEnum.class), anyLong())).thenReturn(123L);
Run Code Online (Sandbox Code Playgroud)