Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

Kontinuierliches API-Testing

Führen Sie Ihre Tests automatisch in einer CI-Umgebung (Continuous Integration = Kontinuierliche Integration) aus.

Der CLI-Test-Runner von Talend Cloud API Tester lässt sich problemlos mit den meisten CI-Lösungen integrieren. Dazu müssen lediglich das neueste Java-JDK und Maven auf Ihrem CI-Gerät installiert sein.

Die folgenden Lösungen sind mit Talend Cloud API Tester kompatibel:

  • Jenkins
  • Azure Pipelines
  • AWS CodeBuild und CodePipeline
  • Travis CI
  • CircleCI
  • Team Foundation Server
  • Gitlab CI/CD

Auch andere CI/CD-Lösungen sind unter Umständen kompatibel. Wenn Sie über eine andere funktionierende Lösung verfügen, nehmen Sie bitte Kontakt zu uns auf, damit wir diese Seite aktualisieren können.

CI-Workflow

Ihre API-Tests sollten gemäß dem folgenden Workflow ablaufen:

Diagramm des Workflows für fortlaufende Integration.

Generieren Sie Ihre API ausgehend von den Quellen, führen Sie Einheitstests aus, implementieren Sie die API und führen Sie schließlich Integrationstests für die API mithilfe von Talend Cloud API Tester aus.

In technischer Hinsicht stehen Ihnen dazu zwei Hauptverfahren zur Auswahl (siehe nachstehende Beschreibung). Weitere Informationen zur Konfiguration Ihrer CI-Generierungen finden Sie unter Talend Cloud API Tester - Beispiele.

Basis-Workflow: Testen Sie Ihren Haupt-Branch einmal pro Tag.

Die Dateien werden jeden Abend aus der Source Control abgerufen, wodurch die Integrations-Pipeline ausgelöst wird: Nach dem Durchführen der Einheitentests und Verpacken der Dienstimplementierung implementiert die Pipeline sie in einer Bereitstellungsumgebung. Dann werden die API-Tests ausgeführt, um zu validieren, dass die API wie erwartet funktioniert.

Wenn Sie Ihre API in einer statischen Umgebung testen möchten, können Sie den Test auf Anforderung ausführen oder eine nächtliche Ausführung des Jobs planen. Diese Lösung lässt sich einfach implementieren und erfüllt ihren Zweck. Beachten Sie dabei jedoch Folgendes:

  • Es kann jeweils nur ein Test ausgeführt werden.
  • Die Daten in der API werden bei der Ausführung eines Tests ggf. „verschmutzt“ und müssen bereinigt werden, bevor ein anderer Test ausgeführt werden kann. Andernfalls werden die Tests nicht unter denselben Bedingungen ausgeführt.
  • Jeder Benutzer, der über Zugriff auf die betreffende Umgebung verfügt, kann die API während des laufenden Tests anfordern. Das kann zu einem Scheitern des Tests führen, der sich nur schwer debuggen lässt.

Bei Tests in einer Staging-Umgebung können Sie eine CRON-Task erstellen, die einmal pro Nacht ausgeführt wird und dabei folgende Aufgaben übernimmt:

  • Abrufen des API-Codes und der Testdatei aus GitHub.
  • Generieren und Testen des API-Codes.
  • Implementieren des Codes in Ihrer Umgebung.
  • Ausführen der API-Tests für den Code mithilfe des Maven-Plug-Ins.
  • Abrufen der Testberichte.

Sobald der Job verfügbar ist, sollte er ebenfalls auf Anforderung ausgeführt werden können.

Erweiterter Workflow: Prüfen der API bei jedem Commit

Ein Build wird bei jedem Commit an der Quellsteuerung ausgelöst. Ein kurzzeitiger Container wird verwendet, um die Dienstimplementierung bereitzustellen. API-Tests werden für die laufende API durchgeführt. Nach dem Testen wird der Status des Branches zurück an die Source Control gesendet.

Eine erweiterte Lösung besteht in der Implementierung der API in einem Container für jede Jobausführung. Das ermöglicht Ihnen Folgendes:

  • Gleichzeitiges Testen mehrerer Branches.
  • Arbeiten in einer in Bereiche untergliederten Umgebung.
  • Testen jedes Commits.

Wenn Sie Ihre API in Containern testen, können Sie eine Task erstellen, die bei jeder Aktualisierung der Quellen ausgeführt wird und dabei folgende Aufgaben übernimmt:

  • Generieren des API-Codes und Ausführen von Einheitstests für den Code.
  • Implementieren des Codes in einem Container.
  • Ausführen der API-Tests für den Code mithilfe des Talend Cloud API Tester-Plug-Ins für Maven.
  • Abrufen der Testberichte.

Hat diese Seite Ihnen geholfen?

Wenn Sie ein Problem mit dieser Seite oder ihrem Inhalt feststellen, sei es ein Tippfehler, ein ausgelassener Schritt oder ein technischer Fehler, informieren Sie uns bitte!