Modele de contrat d`essai

Avez-vous mis votre maison en feu pour tester votre alarme de fumée? Non, vous testez le contrat qu`il détient avec vos oreilles en utilisant le bouton de test. PACT fournit ce bouton de test pour votre code, vous permettant de confirmer en toute sécurité que vos applications fonctionneront ensemble sans avoir à déployer le monde d`abord. En général, un contrat est entre un consommateur (par exemple, un client qui souhaite recevoir des données) et un fournisseur (par exemple, une API sur un serveur qui fournit les données dont le client a besoin). Dans les architectures de microservices, les termes traditionnels client et serveur ne sont pas toujours appropriés–par exemple, lorsque la communication est obtenue par le biais de files d`attente de messages. Pour cette raison, nous nous en tenir au consommateur et fournisseur dans cette documentation. PandaTip: ce contrat d`affaires particulier permet de conclure plusieurs projets dans les énoncés de travail qui seront négociés dans le cadre de cet accord. Le contrat fourni par le producteur doit être consommé comme simple test printanier. Donc, si nous modifions un nom d`attribut dans Product, nous aurions un test défaillant. Cela nous protège contre les changements accidentels incompatibles avec les contrats. Le modèle de contrat le plus courant est une spécification d`interface externe (EI) qui décrit comment accéder à un système externe. Lorsque je crée une spécification d`interface externe, j`aime capturer les informations suivantes: Contract-Rest-service/SRC/test/Java/Hello/BaseClass. Java test de l`interaction entre notre service de paiement et de produit avec Spring Cloud Contract fonctionne comme suit.

Le fournisseur facturera le client pour les services exécuté dans les jours [NUMBER] de la performance. Le client paiera le fournisseur tel que stipulé dans chaque énoncé de travail dans les [nombre] jours suivant la réception et l`acceptation de cette facture. Il est entendu que les paiements au prestataire pour les services rendus doivent être effectués intégralement comme convenu, sans aucune déduction pour des impôts de quelque nature que ce soit, conformément au statut de prestataire indépendant du fournisseur. À cette étape, lorsque les tests sont exécutés, les résultats de test doivent être vert indiquant que le contrôleur REST est aligné avec le contrat et que vous avez un service pleinement fonctionnel. Contrairement à un schéma ou une spécification (par exemple, OEA), qui est un artefact statique qui décrit tous les États possibles d`une ressource, un contrat Pacte est appliqué en exécutant une collection de cas de test, chacun d`eux décrivant une seule paire concrète demande/réponse-Pacte est, en fait, «contrat par exemple». Service Bean PersonService. Java qui remplit juste une entité de quelques personnes dans la mémoire et retourne celui quand on lui demande. Contract-Rest-service/src/main/Java/Hello/PersonService. Java RestController Bean PersonRestController. Java qui appelle le Bean PersonService lorsqu`une demande de repos est reçue pour une personne avec l`ID.

Contract-Rest-service/src/main/Java/Hello/PersonRestController. Java ce guide vous guidera tout au long du processus de création d`une application de repos printanier avec ses contrats et de la consommation du contrat dans le cadre d`une autre demande printanière. Projet de contrat Spring Cloud maintenant, tout ce que nous devons faire est d`annoter notre test amélioré sur le côté de la caisse avec @AutoConfigureStubRunner et utiliser le StubTrigger pour envoyer le message stub dans. Le Spring-Cloud-Contract-stub-Runner télécharge le pot stub avec notre contrat à partir d`un référentiel maven et l`émet dans notre application. Ceci est fait sans interagir avec un courtier en cours d`exécution. Une fois l`événement émis, nous pouvons exécuter nos assertions pour vous assurer que l`effet correct peut être observé.