Mockito matcher et un ensemble de primitives
Avec Mockito, je veux verify()
un appel de méthode avec byte[]
dans sa liste d'arguments, mais je n'ai pas trouvé comment écrire ceci.
myMethod( byte[] )
Je veux juste quelque chose comme anyByteArray()
, comment le faire avec Mockito ?
- Avez-vous vraiment pas attention à ce que le contenu du tableau d'octets sont? Je vois beaucoup dans les tests unitaires, où les gens utilisent anyX() de rapprochement, car ils sont pratiques, mais de façon réaliste, vous avez presque toujours attention à ce qui est passée. Si vous n'utilisez pas une Réponse qui consomme réellement de la valeur, vous devriez probablement correspondre à une réelle devrait argument.
- C'est discutable. À l'aide de la toute-rapprochement peut faire des tests plus simple et la prochaine personne qui regarde le test ne sera pas distrait par la inutilement précis correspondant et peuvent se concentrer sur le véritable but de l'essai.
- Veuillez garder à l'esprit que tous les tableaux en Java est un objet. Qui pourrait vous aider au début.
Vous devez vous connecter pour publier un commentaire.
Je voudrais essayer
any(byte[].class)
AdditionalMatchers.aryEq(expectedArray)
Essayez ceci:
Je préfère utiliser
Matchers.<byte[]>any()
. Cela a fonctionné pour moi.Je suis d'accord avec Mutanos et Alecio.
De plus, on peut vérifier que de nombreux identiques appels de méthode que possible (vérifier les appels suivants dans le code de production, de l'ordre de la vérification n'a pas d'importance).
Voici le code:
Ou..
Vous pouvez utiliser Mockito.tout() lorsque les arguments sont des tableaux aussi.
Je l'ai utilisé comme ceci:
J'ai utilisé
Matchers.refEq
pour cela.Vous pouvez toujours créer une Correspondance personnalisée à l'aide de
argThat