Verwenden von Mock-Servern während des gesamten API-Lebenszyklus

APIGit

2023-04-25

The-Many-Ways-to-Use-Mock-Servers

Verwendung von Mock-Servern während des gesamten API-Lebenszyklus

Mock-Server sind eine hilfreiche Lösung für die verschiedenen unerwarteten Herausforderungen, die während des Entwicklungsprozesses auftreten. Die Integration mit mehreren APIs kann zeitaufwändig sein, da Einzelpersonen durchschnittlich 16 % ihrer Zeit mit dem Debuggen verbringen, verglichen mit nur 10 % im Idealzustand. Externe Abhängigkeiten und gleichzeitige Teamarbeit können ebenfalls zu Verzögerungen und Frustration führen. Durch die Verwendung von Mock-Servern können Entwickler diese Rückschläge und Unterbrechungen jedoch minimieren, was sie zu einem wertvollen Werkzeug während des gesamten Entwicklungslebenszyklus macht.

Was genau ist ein Mock-Server?

Zur Verdeutlichung: Ein Mock-Server ist ein in der Apigit-Plattform verfügbares Tool, mit dem Entwickler API-Anforderungen und -Antworten simulieren können. Wenn eine Anfrage an den Mock-Server gesendet wird, gleicht dieser die Anfragekonfiguration mit gespeicherten Beispielen ab und liefert eine Antwort mit den entsprechenden Daten.

Scheinserver bieten eine Möglichkeit, die Antworten einer API in einer Produktionsumgebung zu simulieren, ohne dass die Entwickler Code schreiben müssen. Durch die Verwendung von Mock-Servern wird die Feedback-Schleife bei der Entwicklung der API-Infrastruktur verkürzt, was schnellere Iterationen und eine schnellere Entwicklung ermöglicht.

In diesem Blogbeitrag werden wir die Vorteile der Verwendung von Mock-Servern erörtern und erläutern, wie sie Ihren Entwicklungsworkflow verbessern können. Apigit bietet mehrere Methoden zum Erstellen eines Mock-Servers, die wir im Detail untersuchen werden.

Verwenden von Mock-Servern für die Zusammenarbeit

In den meisten Fällen sind an Entwicklungsprojekten mehrere Teams und Einzelpersonen beteiligt, die gleichzeitig an verschiedenen Aspekten des Projekts arbeiten. Dazu gehören Frontend-Entwickler, Backend-Entwickler, QA-Ingenieure und andere Spezialisten, auch in kleineren Projekten. Um die Produktivität und Effizienz zu maximieren, ist es üblich, dass Teams gleichzeitig an verschiedenen Teilen des Projekts arbeiten.

Mock-Server sind ein vielseitiges Tool, das dazu beitragen kann, die Effizienz während des gesamten Entwicklungsprozesses aufrechtzuerhalten, was sowohl API-Herstellern als auch -Verbrauchern zugute kommt. Sie können in verschiedenen Phasen des API-Entwicklungslebenszyklus verwendet werden. Wenn das Frontend-Team beispielsweise Daten vom Backend oder Server integrieren möchte, können Mock-Server verwendet werden, um API-Endpunkte zu simulieren, die noch nicht vollständig konfiguriert oder funktionsfähig sind. Dadurch wird sichergestellt, dass das Frontend-Engineering auch ohne vollständige API-Funktionalität genau und möglich ist.

Mock-Server können in einem frühen Stadium des Entwicklungsprozesses verwendet werden, beispielsweise während der Designphase. Anstatt darauf zu warten, dass die API-Endpunkte entwickelt und bereitgestellt werden, ermöglicht Apigit Entwicklern, einen Mock-Server aus einer API-Spezifikation zu erstellen, der Serverantworten für die Verwendung im Frontend simulieren kann. Dadurch können UI-Entwickler sofort loslegen, indem sie den Mock-Server abfragen und mit den erwarteten Antworten arbeiten. Sobald die eigentliche API produktionsbereit ist, können Entwickler die URL für die Schein-API-Antworten durch die URL für die echte API (zusammen mit allen erforderlichen Autorisierungen) austauschen.

Testen Sie effizient, indem Sie externe Abhängigkeiten simulieren

APIs und Entwicklungsprojekte sind keine isolierten Einheiten, und die Backend-Entwicklung erfordert häufig die Integration mit externen Diensten. Aufrufe an externe Server liegen jedoch außerhalb Ihrer Kontrolle und können zu unvorhersehbaren und unzuverlässigen Ergebnissen führen, z. B. zur Rückgabe von 503 Service Unavailable-Fehlern. Wie bereits erwähnt, kann das Debuggen von API-Problemen bis zu 16 % der gesamten Entwicklungszeit in Anspruch nehmen. Wenn ein Projekt auf mehrere externe APIs angewiesen ist, kann es beim Zugriff auf APIs zu Problemen kommen, bei denen Fehler auftreten, was den Fortschritt behindern kann. Diese Probleme müssen die Entwicklung jedoch nicht vollständig zum Erliegen bringen.

Externe API-Aufrufe sind oft kritische Komponenten von Entwicklungsworkflows, aber sich während der Entwicklung auf externe Dienste zu verlassen, kann riskant sein. Um dieses Risiko zu verringern, können Mock-Server verwendet werden, um die Erfahrung des Zugriffs auf einen externen Server und die Rückgabe der erwarteten Antworten zu simulieren. Dies ist besonders nützlich in Situationen, in denen ein Aufruf an einen externen Server oder eine API eine entscheidende Komponente des Entwicklungsprozesses ist.

In diesem Szenario unterstützen Scheinserver die lokale Test- und Entwicklungsphase des Entwicklungslebenszyklus. Sehen wir uns ein theoretisches Beispiel an:

Angenommen, Sie entwickeln eine E-Commerce-Anwendung mit einem Bestellablauf, bei der Ihre API mit einem Versandservice gekoppelt ist, der synchron bleiben muss. Insbesondere wenn ein Artikel in den Warenkorb in der E-Commerce-App gelegt wird, sollte er auch für den Versandservice in den Warenkorb gelegt werden, damit der Versandservice verfolgen kann, was versendet werden muss. Das bedeutet, dass jede Anfrage an Ihre API auch eine Anfrage an die Versanddienst-API auslöst.

A visual example of testing an e-commerce site but productivity is stopped because of an issue in the Shipping API Ein visuelles Beispiel für das Testen einer E-Commerce-Website, aber die Produktivität wird aufgrund eines Problems in der Versand-API gestoppt

Ein entscheidender Teil der API-Entwicklung besteht darin, sicherzustellen, dass externe Dienste oder APIs, auf die sich das Projekt stützt, funktionsfähig sind und die erwarteten Ergebnisse liefern. Aufrufe an externe Server sind jedoch nicht immer zuverlässig und können zu unerwarteten Fehlern führen, was eine Fehlerbehebung erforderlich macht. In solchen Fällen sind Scheinserver praktisch, da sie die Erfahrung simulieren, einen externen Server zu treffen und eine erwartete Antwort zurückzugeben.

Während der lokalen Test- und Entwicklungsphase des Entwicklungslebenszyklus helfen Scheinserver beim Isolieren einzelner APIs im Workflow. Durch die Konfiguration eines Mock-Servers für eine externe API, wie z. B. eine Versanddienst-API im Fall einer E-Commerce-Anwendung, kann man basierend auf den erwarteten Ergebnissen der API weiterarbeiten, obwohl sie ausgefallen ist. Dies macht den Testprozess effizienter und verringert die Wahrscheinlichkeit, dass das Projekt aufgrund von API-Fehlern gestoppt wird.

Beim Testen des Bestellablaufs einer E-Commerce-Anwendung muss die API mit einem Versanddienst synchron bleiben. Wenn die Versand-API jedoch Fehler zurückgibt oder ausgefallen ist, kann dies zu Entwicklungs- und Testverzögerungen führen. Um solche Abhängigkeiten zu vermeiden, können Mock-Server verwendet werden, um erwartete Antworten von externen Diensten zu simulieren. Mit Apigit können Entwickler jede API einzeln testen und spezifische Probleme identifizieren. Durch die Konfiguration eines Mock-Servers für die Versand-API können Entwickler basierend auf den erwarteten Ergebnissen weiterarbeiten, selbst wenn die Versand-API ausgefallen ist. Das folgende Bild zeigt den gleichen Workflow mit einem Mock-Server, der die Versand-API ersetzt, sodass die Tests ununterbrochen fortgesetzt werden können, solange die internen APIs wie erwartet funktionieren.

A visual example of testing the e-commerce site while using a mock server to simulate the Shipping API Ein visuelles Beispiel für das Testen der E-Commerce-Website unter Verwendung eines Mock-Servers zum Simulieren der Versand-API

Sprechen Sie Daten mit mir

Die gemeinsame Nutzung von Daten ist das Herzstück von APIs, unabhängig vom verwendeten Protokoll oder HTTP-Verb. Diese Daten können jedoch vertrauliche persönliche Informationen enthalten, die Sie möglicherweise nicht zu Testzwecken verwenden möchten. Andererseits kann die Verwendung von Platzhalterdaten wie „John Doe“ eintönig und unrealistisch werden. Hier kommen Mock-Server ins Spiel.

Mock-Server sind nützlich, um sowohl alltägliche Tests als auch knifflige Anwendungsfälle zu verwalten, einschließlich solcher, bei denen private Daten geschützt werden müssen oder wenn Sie einen produktionsähnlichen Workflow simulieren möchten.

Mit Apigit können Sie dynamische Daten für Ihre Mock-Server erstellen, indem Sie sie aus einer Reihe von eng gekoppelten Anfragen und entsprechenden Antwortbeispielen generieren. Anstatt sich auf das standardmäßig gespeicherte Beispiel zu verlassen, können Sie die Antwort an Ihre Bedürfnisse anpassen.

Eine Möglichkeit, dies zu erreichen, besteht darin, das Antwortbeispiel so zu bearbeiten, dass es dynamische Variablen enthält. Dieser Ansatz ermöglicht es Ihrem Mock-Server, die integrierte Bibliothek zu nutzen und Dummy-Daten bereitzustellen, die reale Daten nachahmen.

Das Internet ist ein unvorhersehbarer Ort – lassen Sie Mocks Ordnung in Ihren Entwicklungslebenszyklus bringen

Entwickler können eine ähnliche Denkweise wie beim Sport annehmen, wo sie sich auf die Steuerung der steuerbaren Elemente konzentrieren. In der Entwicklung liegt die Stabilität einer externen API nicht immer in Ihrer Kontrolle, aber Mock-Server können verwendet werden, um zu simulieren, was passieren sollte, wodurch unerwartete Probleme reduziert werden. Durch die Verwendung von Mock-Servern können Entwickler die Stabilität schaffen, die sie benötigen, um ihre Arbeit effektiv zu erledigen. Lassen Sie also Mock-Server die Stabilität sein, die Entwickler benötigen, um ihre Ziele ohne Verwirrung oder unerwartete Schluckaufe zu erreichen.