2015-12-18 3 views
-4

J'ai entendu dire que le code couplé est difficile à tester. Je ne comprends pas comment? Quelqu'un peut-il expliquer avec un exemple.Pourquoi le code étroitement couplé est difficile à tester à l'unité?

+0

@StefanBeike Code fondamentalement non-calqué avec des dépendances directes entre les classes d'implémentation, pas d'interfaces ou d'autres mécanismes tels que des événements ou des passages de messages cela fournirait du code faiblement couplé. – Kayaman

+0

http://stackoverflow.com/questions/2832017/what-is-the-difference-between-loose-coupling-and-tight-coupling-in-object-orien – Satya

Répondre

2

Le couplage serré signifie que vous utilisez des implémentations au lieu d'interfaces, ce qui réduit la gamme d'options lors de la création d'implémentations simulées et d'autres utilitaires de test. Cela peut être aidé en utilisant des frameworks moqueurs (comme Mockito pour Android) mais devrait néanmoins être évité, car c'est une mauvaise pratique.

Cependant, c'est probablement l'aspect le moins problématique du code fortement couplé. Il est généralement déconseillé, car il limite les possibilités de refactoring et/ou d'extension. Vous devriez toujours garder un certain niveau d'abstraction dans votre code, afin de pouvoir facilement implémenter de nouveaux modules et changer les implémentations actuelles. Mais n'exagérez pas, car les programmes qui ont beaucoup sur les paires exclusives d'implémentation d'interface sont très redondants et difficiles à déboguer.

En général, vous devriez jeter un oeil à certains projets open-source et voir comment ils sont testés (pour Android, consultez l'application Google I/O par exemple) et comment l'approche de test est reflétée dans le code. Tout est livré avec de l'expérience et il n'y a pas de meilleure façon de l'apprendre qu'en analysant comment les pros le font :-)