Leitfäden
Leitfäden zum API-Testing
Jeder Leitfaden löst eine Aufgabe gegen die kostenlose API unter api.testingapis.com: einen Request absichtlich scheitern lassen, einen SOAP-Dienst aufrufen, einen Auth-Ablauf testen, jede Seite einer Liste durchgehen. Die Requests und der Code liefen gegen die Live-API, und die gezeigten Antworten sind die, die sie geliefert hat.
Die Konzepte dahinter erklärt das API-Testing-Tutorial. Jeden Endpunkt und Parameter findest du in der API-Dokumentation.
- Eine Mock-API, die auf Wunsch Fehler liefertHol dir ein 500, ein 429 mit Retry-After, einen Timeout oder einen abgeschnittenen Body, wann immer deine Tests einen brauchen.
- Eine kostenlose SOAP-API zum Testen, mit WSDLEin Rechnerdienst mit WSDL und ein Länderdienst, beide antworten in SOAP 1.1 und 1.2.
- Test-Endpunkte für jedes API-AuthentifizierungsverfahrenBasic, Digest, Bearer-Tokens, API-Schlüssel, HMAC-Signaturen, JWT, OAuth 1.0a und OAuth 2.0 mit PKCE, mit Zugangsdaten.
- Beispiele für API-Paginierung: Offset, Seite, Cursor, Keyset, Link-Header und HALSechs Paginierungsarten über dieselben Daten, jede mit einer echten Antwort und einer Schleife, die alle Seiten abruft.
- Eine Alternative zu JSONPlaceholder, die Schreibzugriffe speichertDieselben Arten von Ressourcen, aber Schreibzugriffe werden gespeichert, schlechte Eingaben abgelehnt und Fehler gibt es auf Wunsch.
- Den Umgang mit HTTP 503 in C# mit HttpClient testenWas HttpClient mit einem 503 macht, ein DelegatingHandler, der Retry-After beachtet, und xUnit-Tests gegen eine Live-API.
- Datei-Uploads mit multipart/form-data testenLade eine Datei mit curl, JavaScript, Python und C# hoch, sieh genau, was der Server empfangen hat, und vermeide den Boundary-Fehler.
- HttpClient-Timeouts und Cancellation Tokens in C#Timeouts gegenüber Abbrüchen, ein Timeout-Helfer pro Request, die Lücke bei ResponseHeadersRead und Tests gegen eine langsame API.
- Fehlerhaftes JSON in .NET mit System.Text.Json behandelnWas ReadFromJsonAsync mit kaputtem und schwierigem JSON macht, welche Fälle nicht werfen, und ein Leser, der jeden in einen klaren Fehler verwandelt.
- API-Integrationstests mit xUnitSechs xUnit-Tests gegen eine Live-Todos-API, die Regeln für Tests gegen eine geteilte API und ein GitHub-Actions-Workflow, um sie auszuführen.