[JAVA] Org.mockito.exceptions.misusing.InvalidUseOfMatchersException dans Mockito

Dans un test avec Mockito

when(hoge.fuga("aaa",0)).thenReturn(1)

Lorsque vous voulez écrire quelque chose comme. Je veux utiliser la même valeur de retour pour le deuxième argument 0 peu importe ce que j'entre, donc je veux utiliser ʻanyInt () de ʻorg.mockito.Matchers, donc je vais le réparer comme ça

when(hoge.fuga("aaa",anyInt())).thenReturn(1)

Puis

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: 
Invalid use of argument matchers!
5 matchers expected, 4 recorded:
//Abréviation

This exception may occur if matchers are combined with raw values:
    //incorrect:
    someMethod(anyObject(), "raw String");
When using matchers, all arguments have to be provided by matchers.
For example:
    //correct:
    someMethod(anyObject(), eq("String by matcher"));

Mettez-vous en colère contre une erreur.

when(hoge.fuga(eq("aaa"),anyInt())).thenReturn(1)

Cela résoudra le problème.

Si vous voulez utiliser un matcher tel que ʻanyInt () `, vous devez écrire tous les arguments dans la méthode matcher.

Je n'ai aucune idée de ce qui se passe à l'intérieur, mais je veux savoir pourquoi. .. ..

Recommended Posts

Org.mockito.exceptions.misusing.InvalidUseOfMatchersException dans Mockito
Changements dans Mockito 2
Méthodes statiques simulées dans Mockito 3.4
Essayez Mockito