Quand utiliser Mockito.vérifier()?

- Je écrire des cas de test jUnit pour 3 raisons:

  1. À ce que mon code répond à toutes les fonctionnalités requises, en vertu de tous (ou la plupart) des combinaisons en entrée/valeurs.
  2. Pour s'assurer que je peux changer la mise en œuvre, et de s'appuyer sur des cas de test JUnit pour me dire que tous mes fonctionnalité est toujours satisfait.
  3. Une documentation de tous les cas d'utilisation de mon code de poignées, et d'agir comme une spécification pour la refactorisation du code jamais besoin d'être réécrite. (Refactoriser le code, et si mon jUnit tests échouent - vous avez sans doute raté quelques cas d'utilisation).

Je ne comprends pas pourquoi ou quand Mockito.verify() doit être utilisé. Quand je vois verify() appelle, il me dit que mon jUnit est de plus en plus conscients de la mise en œuvre. (Et donc de changer ma mise en œuvre de casser mon jUnits, même si mon la fonctionnalité n'a pas été affectée).

Je suis à la recherche de:

  1. De ce que devraient être les lignes directrices sur l'utilisation appropriée des Mockito.verify()?

  2. Est-il fondamentalement correcte pour jUnits d'être conscient de, ou étroitement associés à la mise en œuvre de la classe sous test?

  • J'essaie de rester loin de l'aide de vérifier() autant que je peux, pour la même raison, vous exposé (je ne veux pas que mon test de l'unité à prendre conscience de la mise en œuvre), mais il est un cas quand je n'ai pas le choix - écrasa vide-méthodes. Généralement parlant comme ils le font pas de retour à ce qu'ils ne contribuent pas à votre "réel" de sortie; mais encore, vous devez savoir qu'il a été appelé. Mais je suis d'accord avec vous, il n'a pas de sens d'utiliser de vérifier pour vérifier le flux d'exécution.
InformationsquelleAutor Russell | 2012-09-21