mock example dzone java enums mockito

example - mockito mock java



Mockito: cómo hacer coincidir cualquier parámetro enum (2)

Tengo este método declarado así

private Long doThings(MyEnum enum, Long otherParam); y esta enumeración

public enum MyEnum{ VAL_A, VAL_B, VAL_C }

Pregunta: ¿Cómo me burlo de las llamadas doThings() ? No puedo igualar ningún MyEnum .

Lo siguiente no funciona:

Mockito.when(object.doThings(Matchers.any(), Matchers.anyLong())) .thenReturn(123L);


Aparte de la solución anterior prueba esto ...

when(object.doThings((MyEnum)anyObject(), anyLong()).thenReturn(123L);


Matchers.any(Class) hará el truco:

Mockito.when(object.doThings(Matchers.any(MyEnum.class), Matchers.anyLong())) .thenReturn(123L);

Como nota al margen: considera usar importaciones estáticas de Mockito :

import static org.mockito.Matchers.*; import static org.mockito.Mockito.*;

La burla se vuelve mucho más corta:

when(object.doThings(any(MyEnum.class), anyLong())).thenReturn(123L);