Quelle est la différence entre les falsifiant, en se moquant, et buter?

Je sais comment j'utilise ces termes, mais je me demandais si il y a des définitions acceptées de semblant, moqueur, et stubbing pour les tests unitaires? Comment définissez-vous ces pour vos tests? Décrire des situations où vous pourriez utiliser chaque.

Voici comment je les utilise:

Faux: une classe qui implémente une interface, mais qui contient des données fixes et pas de logique. Retourne simplement "bonne" ou "mauvaise" données en fonction de la mise en œuvre.

Se moquer de: une classe qui implémente une interface et permet la possibilité de définir de manière dynamique les valeurs de retour/exceptions à deux pas de méthodes particulières et offre la possibilité de vérifier si certaines méthodes ont été appelés/pas appelé.

Stub: Comme une maquette de la classe, sauf qu'il ne prévoit pas la possibilité de vérifier que les méthodes ont été appelés/pas appelé.

Se moque et des talons peut être généré ou généré par un moqueur cadre. Faux classes sont générées par la main. J'utilise se moque surtout de vérifier les interactions entre les élèves de ma classe et des classes dépendantes. J'utilise talons une fois que j'ai vérifié les interactions et suis en train de tester d'autres chemins à travers mon code. J'utilise de faux classes principalement à l'abstraction de dépendances de données ou quand on se moque de/talons sont trop fastidieux à configurer à chaque fois.

  • Eh bien en gros, vous avez tout dit dans votre "question" 🙂 je pense que ceux qui sont assez bien accepté les définitions de ces termes
  • La définition de Wikipedia de Faux diffère de ce, affirmant qu'un Faux "est utilisé comme une simplification de la mise en œuvre, par exemple à l'aide d'une base de données en mémoire dans les tests, plutôt que de faire de la vraie base de données access)" Voir en.wikipedia.org/wiki/Test_double
  • J'ai appris beaucoup de ressources suivants, avec une excellente explication par Robert C. Martin (Oncle Bob): Le Peu Moqueur sur Le Propre Blog de Code. Il explique les différences entre les et les subtilités de mannequins, test doubles, des talons, des espions, des (vrais) se moque et des faux. Il mentionne également Martin Fowler et il explique un peu de tests de logiciels de l'histoire.
InformationsquelleAutor tvanfosson | 2008-12-06