Web.de handyvertrag test

Verwenden Sie die mobile App, um Ihnen durch die anfängliche Einrichtung zu helfen, die Internetverbindung zu beheben und erweiterte Funktionen zu nutzen, um Ihr Heimnetzwerk zu verwalten. Unser Microservice verbraucht die Wetter-API. Es liegt also in unserer Verantwortung, einen Verbrauchertest zu schreiben, der unsere Erwartungen an den Vertrag (die API) zwischen unserem Microservice und dem Wetterdienst definiert. Ich bin mir ziemlich sicher, dass dies eher ein Designproblem als ein Scoping-Problem ist. Wahrscheinlich haben Sie das Bedürfnis, eine private Methode zu testen, da sie komplex ist und das Testen dieser Methode über die öffentliche Schnittstelle der Klasse eine Menge umständlicher Einrichtung erfordert. Offensichtlich kümmern sie sich nicht um unsere magere Beispielanwendung und werden keinen CDC-Test für uns implementieren. Das ist der große Unterschied zwischen einer öffentlich zugänglichen API und einer Organisation, die Microservices übernimmt. Öffentlich zugängliche APIs können nicht jeden einzelnen Consumer da draußen betrachten, oder sie wären nicht in der Lage, voranzukommen. Innerhalb Ihrer eigenen Organisation können und sollten Sie es tun. Ihre App wird höchstwahrscheinlich eine Handvoll dienen, vielleicht ein paar Dutzend Verbraucher max.

Sie werden gute Schreibanbietertests für diese Schnittstellen sein, um ein stabiles System zu halten. Das Schreiben von Integrationstests um diese Grenzen stellt sicher, dass das Schreiben von Daten an diese externen Mitarbeiter und das Lesen von Daten von diesen externen Mitarbeitern einwandfrei funktioniert. Mit dieser Bibliothek können wir einen End-to-End-Test für unsere REST-API implementieren: Der Einfachheit halber gehen wir davon aus, dass die darksky API auch in Spring Boot implementiert ist. In diesem Fall könnten sie den Spring-Pakt-Anbieter nutzen, der sich gut in die MockMVC-Mechanismen des Frühlings einkaktet. Ein hypothetischer Anbietertest, den das darksky.net-Team implementieren würde, könnte wie folgt aussehen: Wenn Ihre Organisation einen Microservices-Ansatz verfolgt, ist die Durchführung von CDC-Tests ein großer Schritt zur Einrichtung autonomer Teams. CDC-Tests sind eine automatisierte Möglichkeit, die Teamkommunikation zu fördern. Sie stellen sicher, dass die Schnittstellen zwischen den Teams jederzeit funktionieren. Fehlende CDC-Tests sind ein guter Indikator dafür, dass Sie zum betroffenen Team gehen, einen Chat über bevorstehende API-Änderungen führen und herausfinden sollten, wie Sie vorankommen möchten. Für End-to-End-Tests sind Selenium und das WebDriver-Protokoll für viele Entwickler das Werkzeug der Wahl. Mit Selenium können Sie einen Browser auswählen, den Sie mögen und lassen Sie es automatisch Ihre Website aufrufen, klicken Sie hier und da, geben Sie Daten ein und überprüfen Sie, dass sich das Zeug in der Benutzeroberfläche ändert. Wenn Sie genau hinsehen, werden Sie sehen, dass der WeatherClientConsumerTest dem WeatherClientIntegrationTest sehr ähnlich ist. Anstatt Wiremock für den Server-Stub zu verwenden, verwenden wir dieses Mal Pact.

Tatsächlich funktioniert der Consumer-Test genau wie der Integrationstest, wir ersetzen den echten Drittanbieterserver durch einen Stub, definieren die erwartete Antwort und überprüfen, ob unser Client die Antwort richtig analysieren kann. In diesem Sinne ist der WeatherClientConsumerTest selbst ein enger Integrationstest.