Eine allgemeine Lehre in der Prüfung ist "Spotten Sie nicht, was Sie nicht besitzen". Verspotten diese API-Aufrufe macht Ihre Tests weniger zuverlässig und geben Ihnen ein falsches Gefühl der Sicherheit, wie Sie wahrscheinlich bekommen werden false positive.
Zum Beispiel, wenn die API unerwartet eine brechende Änderung einführt, werden Ihre Tests grün und sobald Sie die Produktion bereitstellen, werden Sie endlich feststellen, dass etwas nicht stimmt. Dies ist wahrscheinlich, was Sie wollen Ihre Tests zu fangen.
Wenn Sie gegen die echte API testen, erhalten Sie ein Gefühl der Zuverlässigkeit. Scheitern Ihre Tests häufig aufgrund von Serviceausfällen oder Timeouts? Wenn dies der Fall ist, können Sie Maßnahmen wie einen Wiederholungsmechanismus, Schutzschalter oder das Entkoppeln der API-Aufrufe vom Rest Ihrer Anwendung einführen.
Wenn Sie die API verspotten, können Sie nur feststellen, dass sich Ihr Code gemäß einer (möglicherweise veralteten) Spezifikation des Dienstes verhält. Das ist in Ordnung, aber nicht annähernd so nützlich wie sich auf den eigentlichen Dienst zu verlassen.
Sie könnten Gruppen verwenden, um diese Tests separat auszuführen. Dies wird es Ihnen erleichtern, diese möglicherweise langsamen und manchmal flockigen Tests von Ihren verbleibenden Tests ein- oder auszuschließen. Dies hilft auch bei der Ratenbegrenzung, z. indem Sie nur diese Tests auf kritischen Zweigen ausführen.
Wenn Sie den Dienst verwerfen, können Sie eine Vielzahl von Antworten zurückgeben, insbesondere solche, die schwer zu testen sind (z. B. Fehler). –
@NigelRen Sie sollten mit mehr Details beantworten und wie man den Dienst spotten –
Wenn Sie etwas Code hatten, kann es helfen, weiß nicht, was ich antworten soll. Versuchen Sie, http://guzzle3.readthedocs.io/testing/unit-testing.html durchzusehen. –