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. .. ..