2

Je développe une application hexagonale avec approche BDD avec Specflow (C# concombre). Je veux mettre en œuvre un test de système de scénario automatisé exécutant le test de base et d'injection double sur le port de l'hexagone interne au lieu des adaptateurs de production. J'utilise aussi le pattern-root pattern, ce qui signifie que les dépendances centrales sont résolues en dehors du core: ça me sent déjà (il est correct de résoudre les dépendances du core vers l'hexagone externe en injectant les adaptateurs, mais qu'en est-il des dépendances internes du noyau?).Racine de composition en test automatique d'application hexagonale

Habituellement, les classes de test résolvent les dépendances à leur manière, en injectant le double de test, mais maintenant elles doivent aussi pouvoir assembler le noyau. Donc maintenant nous n'avons pas un seul point de vérité pour résoudre les dépendances du noyau, car le test doit copier la racine de la composition et si la racine de composition de production remplace un service interne du noyau modifiant et cassant son comportement, le test automatique reste vert , car la racine de composition de test injecte toujours l'ancienne implémentation du service.

Quelle est la bonne solution à ce problème? Merci

+2

Cet article pourrait vous aider: http://www.dotnetcurry.com/patterns-practices/1337/automated-testing-using-composition-root-csharp –

+0

Merci, ça m'a aidé! – Rob80

Répondre

0

Jetez un oeil au chapitre 26 ("La composante principale") du livre "Architecture Clean - Guide de Craftman à la structure et la conception du logiciel", par Robert C. Martin. Le composant principal dépend de tous les autres composants de l'application, il est le point d'entrée de l'application, et c'est ici que la racine de la composition vit. Il crée l'application entière et l'exécute avec une certaine configuration. Vous avez un Main pour chaque configuration.