La réponse à la question posée est, à mon avis, "Orienté Objet semble être tout ce que les gens de TDD pensent."
Pourquoi? Je ne sais pas. Peut-être qu'ils sont tous des programmeurs Java qui ont été infectés par la maladie de faire tout compter sur six couches d'indirection, l'injection de dépendance et les adaptateurs d'interface.
Les programmeurs Java semblent aimer rendre tout difficile à l'avance afin de «gagner du temps plus tard».
Je conseille d'appliquer certains principes Agile à votre TDD: Si cela ne cause pas de problème, ne le réparez pas. Ne pas trop concevoir.
En pratique, je trouve que si les méthodes statiques sont bien testées en premier, alors elles ne vont pas être la cause de bugs dans leurs appelants.
Si les méthodes statiques s'exécutent rapidement, elles n'ont pas besoin de simulation.
Si les méthodes statiques fonctionnent avec des éléments externes au programme, vous pouvez avoir besoin d'une méthode fictive. Dans ce cas, vous devez pouvoir simuler de nombreux types de comportement de fonction.
Si vous avez besoin de simuler une méthode statique rappelez-vous qu'il existe des façons de le faire en dehors de de la programmation OO. Par exemple, vous pouvez écrire des scripts pour traiter votre code source dans un formulaire de test qui appelle votre fonction fictive.Vous pouvez lier différents fichiers objets ayant différentes versions de la fonction dans les programmes de test. Vous pouvez utiliser les astuces de l'éditeur de liens pour remplacer la définition de la fonction (si elle n'a pas été insérée). Je suis sûr qu'il y a d'autres trucs que je n'ai pas énumérés ici.
Je pense que le terme que vous recherchez car est étroitement couplé. –
@Martin: Merci, je connais le terme, même si c'est plus général que ce que je voulais dire ici. Les termes couramment utilisés finissent souvent par perdre presque leur sens parce que les gens (ab) les utilisent tellement, alors j'ai choisi d'utiliser une métaphore ici dans l'espoir que cela soit plus clair. –
Première écoute «câblée» au lieu de coupler étroitement. C'est absolument génial comment un changement de termes peut aider à la compréhension. – jrahhali