Mockito: comment faire correspondre n'importe quel paramètre enum
j'ai cette méthode déclarée comme ceci
private Long doThings(MyEnum enum, Long otherParam);
et ce enum
public enum MyEnum{
VAL_A,
VAL_B,
VAL_C
}
Question: Comment puis-je me moquer?--3--> appels?
Je ne peut pas correspondre tout MyEnum
.
Le suivant ne fonctionne pas:
Mockito.when(object.doThings(Matchers.any(), Matchers.anyLong()))
.thenReturn(123L);
26
demandé sur
ROMANIA_engineer
2013-11-13 13:15:09
2 réponses
Matchers.any(Class)
va faire l'affaire:
Mockito.when(object.doThings(Matchers.any(MyEnum.class), Matchers.anyLong()))
.thenReturn(123L);
en tant que note secondaire: envisagez d'utiliser Mockito
statique importations:
import static org.mockito.Matchers.*;
import static org.mockito.Mockito.*;
Moqueur obtient beaucoup plus court:
when(object.doThings(any(MyEnum.class), anyLong())).thenReturn(123L);
43
répondu
rzymek
2013-11-13 09:23:34
mis à part la solution ci-dessus, essayez ceci...
when(object.doThings((MyEnum)anyObject(), anyLong()).thenReturn(123L);
0
répondu
VinayVeluri
2013-11-13 09:38:10