Donc, dans le prolongement de ma résolution du nouvel an pour obtenir plus de TDD, je commence maintenant à travailler davantage avec Rhino Mocks .
Une chose que je tiens à faire est de m'assurer de vraiment comprendre ce dans quoi je m'engage, alors je voulais vérifier ma compréhension de ce que j'ai vu jusqu'à présent (et j'ai pensé que ce serait bien de le faire ici en tant que Ressource).
Qu'est-ce qu'un «stub»?
unit-testing
testing
tdd
stub
Rob Cooper
la source
la source
Réponses:
Martin Fowler a écrit un excellent article sur ce sujet. De cet article:
Pour le dire dans mes propres mots: les objets simulés «s'attendent» à ce que certaines méthodes soient appelées sur eux, et font généralement échouer un test unitaire si leurs attentes ne sont pas satisfaites. Les objets stub fournissent des réponses prédéfinies (et peuvent être générées automatiquement par des bibliothèques d'assistance), mais ne provoquent généralement pas directement l'échec du test unitaire. Ils sont généralement simplement utilisés pour que l'objet que vous testez obtienne les données dont il a besoin pour faire son travail.
la source
Un «stub» est une implémentation d'une interface qui existe pour fournir des données / une réponse quelconque. Par exemple:
Normalement, cela serait fourni par un autre service (que ce soit un service Web, une autre application, une base de données) mais afin d'améliorer la testabilité du code, les résultats sont "falsifiés".
Un avantage majeur de ceci est qu'il permet de faire des affirmations dans des tests unitaires basés sur les données attendues. Si des erreurs surviennent en raison d'erreurs de données, des tests peuvent être facilement ajoutés, un nouveau stub créé (répliquant l'erreur de données) et un code produit pour corriger l'erreur.
Les stubs diffèrent des Mocks en ce qu'ils sont utilisés pour représenter et tester l' état d'un objet, alors qu'un Mock teste son interaction .
la source
Je crois que "stub" vient de STartUpBlock. il est utilisé pour faire référence à des parties de code qui sont générées automatiquement pour vous aider, le développeur, à démarrer.
la source
Une «méthode de stub» ou «stub» est conçue pour être un code de démarrage ou un substitut temporaire à un code encore à développer. C'est un code intégré généré par un IDE. Les méthodes stub sont en fait des méthodes utilisées pour tester les méthodes d'une classe particulière. Il est utilisé en entrant des valeurs pour les variables locales dans vos méthodes de développement réelles et en vérifiant si la sortie est correcte. Il est important de trouver des bogues dans votre code.
la source
J'ai récemment fait face à la question et j'ai reconnu que cette comparaison entre Stub et Driver est vraiment claire et utile:
Fondamentalement, les stubs et les pilotes sont des routines qui ne font rien d'autre que se déclarer et les paramètres qu'ils acceptent. Le reste du code peut alors prendre ces paramètres et les utiliser comme entrées.
De la différence entre le stub et le pilote
la source
Après quelques recherches et sur la base des fichiers stub que j'ai rencontrés au cours de ma vie de codeur, je dirais qu'un fichier stub est juste un fichier qui contient tout ou partie de l'implémentation d'un fichier. Cela aide les développeurs à commencer à coder.
la source