2017-07-26 5 views

Répondre

1

Oui, définitivement. Le test de contrat est particulièrement utile lorsque vous comptez sur un service «externe», où par «externe» je veux dire tout service qui n'est pas sous votre contrôle direct, y compris le cas que vous avez mentionné. Here est un article intéressant de Martin Fowler.

+0

Vous voulez donc dire que ce n'est pas vraiment utile quand une seule équipe développe tous les microservices? –

+0

Je veux dire par définition que c'est principalement destiné aux services externes. Personnellement, je le fais aussi si c'est une seule équipe parce que je veux m'assurer que si le comportement change, quelque chose m'avertit avant que le code n'arrive en production. Cependant, certains diront que c'est un choix personnel et cela dépend du temps alloué pour le dev, le type de service, etc. – AR1

1

Réponse courte: non, le test de contrat n'est pas nécessaire dans toutes les situations, le même que les tests unitaires. Réponse longue: Ne pas avoir de tests réduit considérablement votre confiance en tant que développeur à déployer sans rien casser. Les tests unitaires sont bons pour tester une fonction individuelle, tandis que les tests contractuels permettent de déterminer si vos modifications affecteront les consommateurs des données que vous fournissez. Les consommateurs de vos données peuvent être n'importe qui, cela peut être quelqu'un de l'autre côté de la pièce, un client externe de l'entreprise ou même vous-même. Le but est d'essayer de segmenter et de simplifier le processus de développement afin que les problèmes soient détectés plus tôt. Cela a aussi l'avantage de ne pas avoir besoin d'exécuter le producteur de données localement pour que le consommateur travaille en cours de développement, ce qui est vraiment un bonus quand le consommateur n'a pas (ou ne peut pas) avoir le code du fournisseur d'accès, comme un client externe. Ces outils sont destinés à vous simplifier la tâche et à vous faciliter la vie. Pact s'efforce d'accomplir cela dans votre flux de travail et d'empêcher les problèmes de production et de fournir au développeur une boucle de rétroaction plus rapide des problèmes potentiels.

1

L'équipe qui a écrit Pact en premier lieu était responsable des deux extrémités de l'intégration, et ils ont toujours trouvé le test de contrat utile. Ce n'est pas parce que vous développez les deux côtés maintenant que vous continuerez à être responsable des deux côtés à l'avenir. Les tests de contrat garantiront que les modifications apportées par les futurs développeurs ne briseront rien.