Je fais du TDD depuis un an maintenant, je m'en sens plutôt bien, j'adore mes suites de tests et tout. Cependant, j'ai remarqué que récemment, je faisais beaucoup de vérification des appels simulés. Par exemple, j'aurais un service qui aura un référentiel injecté - dans mon test unitaire, je passerais une maquette du référentiel et vérifierais qu'il a été appelé dans la méthode que je teste. Je vérifierais ensuite si les résultats retournés sont corrects (dans un autre test). Cela "se sent" vraiment mal, car mes tests unitaires sont désormais très couplés aux détails de mise en œuvre. J'ai entendu dire que vous devriez tester le "comportement", mais dans beaucoup de situations c'est ... emm - pas possible? Si tu as unvoid
par exemple, vous testez généralement les effets secondaires. Je veux dire qu'il est facile d'aller de l'avant et de montrer quelques codes-kata simples où cela peut être démontré, mais à mon humble avis, cela ne reflète pas très bien les programmes du monde réel que nous écrivons. Est-ce que je fais mal? Ce type de test est-il une sorte d'anti-modèle? J'apprécierais votre avis à ce sujet, je suis toujours un peu novice en ce qui concerne TDD.