Test handy Vertrag

Ein Fehler in einem Vertragstest sollte den Build nicht unbedingt auf die gleiche Weise unterbrechen wie ein normaler Testfehler. Es sollte jedoch eine Aufgabe auslösen, die Dinge wieder konsistent zu machen. Dies kann eine Aktualisierung der Tests und des Codes beinhalten, um sie wieder in Übereinstimmung mit dem externen Dienst zu bringen. Genauso wahrscheinlich wird es ein Gespräch mit den Betreuern des externen Dienstes auslösen, um über die Änderung zu sprechen und sie darüber zu informieren, wie sich ihre Änderungen auf andere Anwendungen auswirken. Die Lösung, die oft für mich funktioniert, ist, die ursprüngliche Klasse in zwei Klassen aufzuteilen. Oft dauert es nur ein bis zwei Minuten des Nachdenkens, um einen guten Weg zu finden, die eine große Klasse in zwei kleinere Klassen mit individueller Verantwortung zu unterteilen. Ich verschiebe die private Methode (die ich dringend testen möchte) in die neue Klasse und lasse die alte Klasse die neue Methode aufrufen. Meine umständliche private Methode ist jetzt öffentlich und kann leicht getestet werden. Darüber hinaus habe ich die Struktur meines Codes verbessert, indem ich mich an das Prinzip der einheitlichen Verantwortung halte. Halten Sie sich an die Pyramidenform, um eine gesunde, schnelle und beobunterbare Testsuite zu erstellen: Schreiben Sie viele kleine und schnelle Komponententests. Schreiben Sie einige weitere grobkörnige Tests und sehr wenige Tests auf hoher Ebene, die Ihre Anwendung von Ende zu Ende testen. Achten Sie darauf, dass Sie nicht am Ende mit einem Test-Eis-Kegel, der ein Alptraum zu pflegen sein wird und dauert viel zu lange zu laufen. In einer agileren Organisation sollten Sie den effizienteren und weniger verschwenderischen Weg gehen.

Sie erstellen Ihre Anwendungen innerhalb derselben Organisation. Es sollte wirklich nicht zu schwer sein, direkt mit den Entwicklern der anderen Dienste zu sprechen, anstatt zu detaillierte Dokumentation über den Zaun zu werfen. Schließlich sind sie Ihre Mitarbeiter und kein Drittanbieter, mit dem Sie nur über Kundensupport oder rechtlich kugelsichere Verträge sprechen können. Der Pakt ist in diesen Tagen wahrscheinlich der prominenteste. Es hat einen ausgeklügelten Ansatz, Tests für den Verbraucher und die Anbieterseite zu schreiben, gibt Ihnen Stubs für separate Dienste aus dem Kasten heraus und ermöglicht es Ihnen, CDC-Tests mit anderen Teams auszutauschen. Pact wurde auf viele Plattformen portiert und kann mit JVM-Sprachen, Ruby, .NET, JavaScript und vielen mehr verwendet werden. 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. In Bezug auf die Testpyramide sind Die Integrationstests auf einem höheren Niveau als Ihre Komponententests.

Die Integration von langsamen Teilen wie Dateisystemen und Datenbanken ist tendenziell viel langsamer als das Ausführen von Komponententests, bei denen diese Teile ausgerieben werden. Sie können auch schwieriger zu schreiben sein als kleine und isolierte Komponententests, schließlich müssen Sie sich darum kümmern, ein externes Teil im Rahmen Ihrer Tests zu spinnen. Dennoch haben sie den Vorteil, ihnen das Vertrauen zu geben, dass Ihre Anwendung mit allen externen Teilen, mit denen sie sprechen muss, richtig arbeiten kann. Komponententests können Ihnen dabei nicht helfen. Die Implementierung des Anbietertests folgt dem gleichen Muster wie zuvor beschrieben. Der Einfachheit halber habe ich einfach die Paktdatei von unserem einfachen Verbraucher in das Repository unseres Dienstes eingecheckt.

 

 

 

Share

Comments are closed.

© Copyright 2020 Ewen Chia, InternetMillionaires.com - All Rights Reserved Worldwide. A Division Of Internet Marketer Pte Ltd.
Returns Policy | Terms And Conditions Of Use