php

REST API testen

Um die Vernetzung von (Web-)Applikationen zu ermöglichen sind APIs erforderlich, die den strukturierten Datenaustausch zwischen den Systemen ermöglichen. Dies ist eines der grundlegenden Konzepte des „Web 2.0“.

Die eigene Anwendung mit einem REST API auszustatten ist bei einer Zend-Framework-Anwendung dank Zend_Rest nicht schwer. Will man jedoch auch sicherstellen, dass die API das tut, was sie soll – auch nach einer noch so kleinen Änderung – kommt man um das Testen nicht herum.

Eine Möglichkeit ist hier das http4e-Plugin für Eclipse, das auch Import- und Export in verschiedene Formate erlaubt. Das ist zum Entwickeln und Debuggen einer API sehr komfortabel und angenehm. Bei größeren Projekten wird das ganze dann doch schnell unübersichtlich und nicht jeder will gleich Eclipse installieren um eine REST API zu testen. Die $9 für die Lizenz dürften wohl kaum den Ausschlag geben.

Als Alternative bin ich heute auf soapUI gestoßen. Durch die Baumansicht lassen sich auch größere Projekte übersichtlich verwalten. Die Online-Dokumentation erleichtert einem den Einstieg. Leider hat bei mir (unter Mac OS X) das Paste bei den Parametern nicht funktioniert und das Abtippen einer SHA1-Prüfsumme ist nicht gerade mein Lieblingssport. Welche Features die kostenpflichtige Version mehr bietet hat sich mir auf die Schnelle nicht erschlossen, aber vielleicht funktioniert da ja das das Copy & Paste 😉

Wie testet ihr eure APIs? Die lassen sich ja – im Gegensatz zu irgendwelchen Interna – relativ gut testen.

Update:
Jetzt habe ich noch ein bisschen mir soapUI rumprobiert und festgestellt, dass man damit auch ganze Test-Cases erstellen kann und Bedingungen (XPath, XQuery, Script-Vergleiche, Contains, …) für die Response festlegen kann. Das klingt doch gut 🙂

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

Benachrichtige mich zu:
avatar

wpDiscuz
Weitere Beiträge zum Thema
eval is evil – Stimmt das?
Marc Kiefer als Gastreferent beim 18. E-Commerce Stammtisch in Karlsruhe
Kundenverlust im Checkout vermeiden
General Assembly TYPO3 Association