Die meiste Logik für meinen Webservice besteht darin, mit den Webservices unserer Lieferanten zu sprechen (Verfügbarkeit prüfen, bestellen usw.). Sie haben keine Testumgebung und die meisten Anrufe können nicht willkürlich ausgeführt werden (zum Beispiel würde eine Unterbrechung einmal und einmal ausgeführt würde tatsächlich einen Dienst stoppen).
Ist es möglich, Unit-Tests in dieser Umgebung durchzuführen? Ich könnte typische Antworten simulieren, befürchte jedoch, dass die hartcodierten Antworten der Lieferanten den Punkt der Komponententests untergraben würden.
quelle
Unit-Tests bieten Ihnen auch eine eindeutige, ausführbare Spezifikation des Verhaltens, das Sie von Ihren Lieferanten erwarten. Dies wird wahrscheinlich die Kommunikation mit ihnen viel einfacher machen.
Wenn bei der Interaktion zwischen Ihnen und ihnen ein Problem auftritt, können Sie ihnen Unit-Tests zur Verfügung stellen, um klar anzugeben, welches Verhalten Ihr Code erwartet. Wenn sich ihr Code nicht so verhält wie Ihre Unit-Tests, sind die Unterschiede normalerweise leicht zu erkennen.
quelle
ROI
Dies ist wirklich eine Return on Investment-Frage. Glauben Sie, dass die Investition in Unit-Tests das wert ist, was Sie zurückbekommen? Ihr Code wurde nämlich isoliert getestet . Sowie alle anderen Vorteile von Unit-Tests.
Sie können dies beispielsweise einem automatisierten Abnahmetestansatz gegenüberstellen, bei dem Sie von Ihrem Lieferanten ein Testkonto erhalten, mit dem das integrierte System tatsächlich mit den Tests getestet wird. Sind die Kosten für ATDD das wert, was Sie zurückbekommen? Testen des gesamten Systems.
Es liegt an Ihnen, die Analyse durchzuführen und herauszufinden, ob Sie Unit-Tests, automatisierte Abnahmetests, beides oder nichts anderes durchführen sollten.
quelle