En ces jours je suis en train de coder des structures de données en Java. Beaucoup d'entre eux (sinon tous) offrent une interface très simple (ajouter, contenir, supprimer) mais sous le capot il y a des algorithmes non triviaux. Comment puis-je utiliser la technique tdd dans une telle situation?tdd avec des algorithmes non triviaux
Je pense que le problème est que tdd (et en général le test unitaire) consiste à tester les interfaces et non les implémentations. Ai-je raison? Comment puis-je faire face à cela?
Si vous connaissez une technique pour gérer ce cas, s'il vous plaît faites le moi savoir.
Nous vous remercions de votre aide.
Si je ne teste que l'interface dans ce cas, je n'ai aucune aide dans la construction de ma classe et l'écriture de mes méthodes.En pratique, je annule les avantages de tdd. Tu ne penses pas? – TheSENDER
Rien ne vous empêche d'écrire des tests pour des méthodes d'implémentation internes comme 'merge()' ou 'resizeArray()', mais sachez que lorsque vous faites cela, vos tests deviennent plus fragiles. –
En outre, si vous vous assurez que vos tests se trouvent dans le même package, vous pouvez le faire en protégeant les objets, c'est-à-dire en les masquant dans le monde réel. –