Ecrire des tests, ça prend trop de temps ! 😅
Architecture / Design
Comment écrire des tests unitaires de qualité ?
Aidez-vous des principes F.I.R.S.T.
🅵ast
Le développeur ne doit pas hésiter à exécuter les tests unitaires à tout moment de son cycle de développement, même s'il existe des milliers de tests unitaires. Ils devraient fonctionner et montrer la sortie souhaitée en quelques secondes.
Si vous écrivez des tests, vous devriez connaître le terme « Mock » mais saviez-vous qu'il était la plupart du temps mal utilisé ? 🤔
Dans le langage courant, un « Mock » permet de remplacer les dépendances d'un composant ou d'une unité pour pouvoir le/la tester de façon indépendante et isolée.
👉 Le terme « mock » est utilisé par abus de langage, nous devrions plutôt parler de « Test Double ».
❓ Qu'est-ce qu'un « Test Double » ?
Comme toujours en informatique, il n'existe pas de solution miracle... c'est une question de contexte et de compromis. 😉
Chaque solution amène ses avantages et ses inconvénients, il est important de comprendre les différences pour identifier la solution la plus adaptée. (Voir source)
➤ Pour résumer :
👉 Envisagez les bases de données SQL lorsque…
Lorsqu'un certain nombre de conditions ne sont pas remplies (connaissance de l'application, pratiques d'ingénierie, culture, …), il est fréquent que notre intention de mettre en place une architecture "microservices" donne, en réalité, naissance à un monolithe distribué.
❓ Pourquoi un monolithe distribué est un pb ?
Car nous avons les inconvénients des 2 architectures sans les avantages :
Vous développez un nouveau produit et envisagez de mettre en place une architecture "Microservices" ?
Malgré des avantages indéniables, elle pourrait ne pas être adapté, peut-être devriez-vous plutôt privilégier une architecture monolithique... 🤔
Recommander une architecture monolithique de nos jours risque de m'attirer les foudres de certains mais comme souvent, il n'existe pas de solution miracle, c'est une question de contexte et de compromis.
DDD, Hexagonal, Onion, Clean, CQRS, … How I put it all together
Ressources
FR
CQRS, l’architecture aux deux visages (partie 1)
https://blog.octo.com/cqrs-larchitecture-aux-deux-visages-partie-1/
CQRS, l’architecture aux deux visages (partie 2)
https://blog.octo.com/cqrs-larchitecture-aux-deux-visages-partie2/
CQRS PATTERN