Um Claude-Fable-5.2-API-Integrationen zu testen, sollten Sie die Authentifizierung, den Messages-Request-Body, typisierte Response-Blöcke und vorhersehbare Fehlerfälle validieren. Speichern Sie diese Prüfungen anschließend als wiederverwendbare Apidog-Testfälle, die Ihr Coding-Agent über die CLI ausführt. Halten Sie Transport-Assertions von Aufgaben-Qualitätsprüfungen getrennt, damit eine erfolgreiche HTTP-Antwort keine unbrauchbare Antwort verdecken kann.
Anthropics Ankündigung nennt claude-fable-5-2 als Model-ID der Claude-Plattform. Diese Anleitung baut einen Regressions-Workflow rund um dieses Modell auf, anstatt nach einer einzigen erfolgreichen Antwort Schluss zu machen. Apidog bietet Ihrem Agenten einen gemeinsamen Ort, um Endpunkt, Testfälle und Laufberichte zu pflegen.
Was sollten Tests der Claude-Fable-5.2-API abdecken?
Arbeiten Sie mit drei Ebenen: Transportprüfungen stellen fest, ob der Request den Dienst erreicht hat; Vertragsprüfungen validieren die Struktur der Antwort; Verhaltensprüfungen zeigen, ob Ihre Anwendung das Ergebnis verwenden kann. Führen Sie die ersten beiden für jedes Fixture aus. Definieren Sie Verhaltens-Akzeptanzkriterien für jede Aufgabe, statt komplette generierte Antworten byte für byte zu vergleichen.

| Ebene | Beispiel-Assertion | Bedeutung eines Fehlschlags |
|---|---|---|
| Transport | Erwarteter Status und JSON-Antwort | Problem mit Zugangsdaten, Netzwerk oder Dienst |
| Vertrag | Assistant-Nachricht mit typisierten Content-Blöcken | Parser- oder API-Vertragsabweichung |
| Verhalten | Korrektes arithmetisches Ergebnis im extrahierten Text | Ausgabe erfüllt dieses Fixture nicht |

Beginnen Sie mit einem winzigen, harmlosen Fixture: „Was ist 2 + 2? Antworte nur mit der Ziffer.“ Dadurch wird die Akzeptanzregel sichtbar, ohne Dateien, Tools oder Konversationsverlauf einzubinden. Fügen Sie repräsentative Anwendungs-Fixtures hinzu, sobald der grundlegende Vertrag funktioniert.
Betrachten Sie dieses Fixture nicht als Reasoning-Benchmark. Sein Zweck ist es, Integrationsregressionen zu erkennen – etwa wenn ein Thinking-Block als benutzerseitiger Text extrahiert oder eine abgeschnittene Antwort akzeptiert wird.
Authentifizierung und Request-Einstellungen vor dem Testen festlegen
Verwenden Sie für die direkte Claude-API den Messages-Endpunkt, eine workspace-spezifische API-Zugangsdaten, eine explizite API-Version und einen festen Request-Body. Halten Sie diese Eingaben zwischen den Läufen konstant. Die API-Übersicht dokumentiert die Bearer-Authentifizierung, die Workspace-Auswahl und die Versions-Header. Diese Einstellungen unterscheiden sich von der IAM-Authentifizierung von Cloud-Anbietern.
Verwenden Sie einen Claude-Console-API-Schlüssel, der über Ihre lokale Secret-Umgebung bereitgestellt wird. Ein Apidog-Access-Token authentifiziert die CLI gegenüber Apidog; es authentifiziert keine Requests gegenüber Anthropic. Halten Sie die beiden Zugangsdaten getrennt.
Der folgende Request folgt der aktuellen Messages-Dokumentation, geprüft am 10. November 2026. Speichern Sie das JSON als request.json:
{
"model": "claude-fable-5-2",
"max_tokens": 1024,
"stream": false,
"thinking": { "type": "adaptive" },
"messages": [
{
"role": "user",
"content": "What is 2 + 2? Reply with the numeral only."
}
]
}
Senden Sie es anschließend aus Ihrem Terminal oder lassen Sie Ihren Coding-Agenten es ausführen:
curl https://api.anthropic.com/v1/messages \
-H "Authorization: Bearer $ANTHROPIC_API_KEY" \
-H 'anthropic-version: 2026-10-21' \
-H 'Content-Type: application/json' \
--max-time 600 \
--dump-header response.headers \
--output response.json \
--write-out '%{http_code}\n' \
--data-binary @request.json
Wenn Ihr Schlüssel nicht workspace-spezifisch ist, fügen Sie den dokumentierten anthropic-workspace-id-Header für Ihren Ziel-Workspace hinzu. Legen Sie niemals ein echtes Zugangsdatum im gespeicherten Fixture oder in einem generierten Bericht ab.
Die Referenz Create a Message definiert model, messages und max_tokens sowie die zurückgegebenen Nachrichtenfelder. Hier sind 1.024 ein gewähltes Output-Budget, kein dokumentiertes Minimum und keine Zusicherung, dass jede Aufgabe hineinpasst. Erhöhen Sie es bewusst, wenn ein Fixture mehr Raum benötigt.
Dies ist eine dokumentationsverifizierte Vorlage. Führen Sie sie mit Ihrem eigenen autorisierten API-Konto aus, bevor Sie eine bestandene Baseline aufzeichnen; hier wird keine Live-Fable-Antwort oder Latenzmessung behauptet.
Antwort-Assertions hinzufügen, die generierte Variationen überstehen
Prüfen Sie den Umschlag (Envelope), inspizieren Sie die Block-Typen, extrahieren Sie den Text und wenden Sie erst dann die Akzeptanzregel des Fixtures an. Eine Messages-Antwort enthält ein content-Array, gehen Sie also nicht davon aus, dass content[0].text die Antwort enthält. Bewahren Sie die vollständige Original-Nachricht separat auf, wenn Ihre Anwendung sie in späteren Konversationsrunden zurückschickt.
Für das arithmetische Fixture sollten Sie Ihren Agenten bitten, dieses Post-Response-Skript an den Apidog-Testfall anzuhängen:
pm.test("HTTP success", function () {
pm.response.to.have.status(200);
});
const body = pm.response.json();
pm.test("Assistant message contract", function () {
pm.expect(body.type).to.eql("message");
pm.expect(body.role).to.eql("assistant");
pm.expect(body.id).to.be.a("string");
pm.expect(body.model).to.be.a("string");
pm.expect(body.content).to.be.an("array");
});
const text = body.content
.filter(block => block.type === "text")
.map(block => block.text)
.join("\n").trim();
pm.test("Arithmetic fixture is complete", function () {
pm.expect(body.stop_reason).to.eql("end_turn");
pm.expect(text).to.eql("4");
});
Exakte Gleichheit ist bei dieser bewusst eingeschränkten Ziffer sinnvoll. Bei einer Zusammenfassung verwenden Sie Kriterien wie erforderliche Fakten, verbotene unbelegte Behauptungen und Längengrenzen. Eine harmlose Formulierungsänderung sollte keinen nützlichen Zusammenfassungstest brechen.
Zeichnen Sie usage und den request-id-Header der Antwort zur Diagnose auf. Vergleichen Sie die zurückgegebenen Modell-Identifikatoren mit dem dokumentierten Verhalten für Ihren gewählten Identifikator; beschriften Sie Fallback-Antworten nicht stillschweigend als Fable-Ergebnisse.
Ein max_tokens-Stop-Grund bedeutet, dass die Antwort ihr Output-Limit erreicht hat. Lassen Sie dieses arithmetische Fixture fehlschlagen und prüfen Sie das Token-Budget. Andere Aufgaben können durchaus andere Stop-Gründe zurückgeben, einschließlich Tool-Anfragen – geben Sie daher jedem Fall seine eigene Abschlussregel.
Negative Fälle der Claude-Fable-5.2-API testen
Erstellen Sie einen separaten Fall für jede ungültige Eingabe und ändern Sie jeweils nur ein Feld. Prüfen Sie den HTTP-Status und den strukturierten Fehlertyp, statt die vollständige menschenlesbare Fehlermeldung abzugleichen. Lassen Sie die gültige Baseline unverändert, damit ein negatives Fixture den nächsten positiven Lauf nicht kontaminieren kann.
Der offizielle Fehlerleitfaden dokumentiert die folgenden nützlichen Fälle:
| Fall | Änderung gegenüber der Baseline | Erwartetes Ergebnis |
|---|---|---|
| Ungültige Authentifizierung | Bearer-Zugangsdaten durch Dummy-Wert ersetzen | 401, authentication_error |
| Deaktiviertes Thinking | thinking.type auf disabled setzen |
400, invalid_request_error |
| Legacy Extended Thinking | thinking.type auf enabled setzen |
400, invalid_request_error |
| Assistant-Prefill | Die Konversation mit einem Assistant-Prefill beenden | 400, invalid_request_error |
Fable 5.2 verwendet immer aktives Thinking. Kopieren Sie nicht aus einem älteren Claude-Tutorial, das es deaktiviert oder Extended-Thinking-Budgets konfiguriert. Der Fall „deaktiviertes Thinking“ ist besonders nützlich, wenn Sie gemeinsamen Request-Erstellungscode aktualisieren.
Behaupten Sie bei jedem Fehlerfall body.type === "error", den erwarteten body.error.type und eine nicht leere Fehlermeldung. Bewahren Sie, wenn verfügbar, eine Request-ID auf. Behandeln Sie DNS-Fehler und Client-Timeouts als eigene Ergebnisarten, da sie möglicherweise nie einen Claude-JSON-Fehler erzeugen.
Testen Sie die Handhabung von Rate-Limits und Dienstausfällen Ihrer Anwendung mit kontrollierten Fixtures oder einem Mock. Fluten Sie nicht die Live-API, um einen 429 zu erzwingen. Unterscheiden Sie wiederholbare Kapazitätsprobleme von Authentifizierungs- und Validierungsfehlern, und setzen Sie ein endliches Retry-Budget um die Retry-Logik Ihrer Anwendung.
Lassen Sie Ihren Coding-Agenten die Apidog-Regressionsfälle erstellen
Geben Sie Ihrem Agenten den Endpunkt, die Fixtures, die Assertions und das Zielprojekt vor. Er kann das aktuelle CLI-Schema ermitteln, jedes Payload validieren, Testfälle anlegen und sie ausführen. Sie prüfen die generierten Fälle und die Fehlerübersicht. So bleibt der wiederverwendbare Workflow im Apidog CLI erhalten.
Installieren Sie die CLI und authentifizieren Sie sich mit Ihrem Apidog-Token:
npm install -g apidog-cli@latest
apidog login --with-token <YOUR_APIDOG_TOKEN>
Für das Agent-Setup folgen Sie den aktuellen Anleitungen für Claude Code oder Codex. Geben Sie Ihrem Agenten dann einen einzigen Prompt:
In Apidog project <PROJECT_ID>, define POST /v1/messages for the
Claude API. Use model claude-fable-5-2 and version 2026-10-21.
Keep the Anthropic credential in a private runtime variable.
Create the arithmetic success case and four negative cases above.
Read CLI help and input schemas before generating payloads.
Discover valid endpoint and category IDs; validate every payload.
Attach the response assertions, then run each case against
<ENVIRONMENT_ID>. Report failures, request IDs, and token usage.
Do not print credentials or claim unexecuted cases passed.
Die folgenden Befehle wurden gegen die installierte CLI 2.2.12 geprüft. Der Agent benötigt eine echte Endpunkt-ID und Kategorie-ID; test-case-create beschreibt Fälle, die von Endpunkten abgeleitet sind – das Anlegen eines unabhängigen, eigenständigen JSON-Requests reicht also nicht aus.
apidog test-case category --project <PROJECT_ID>
apidog cli-schema get test-case-create
apidog cli-schema validate test-case-create --file case.json
apidog test-case create --project <PROJECT_ID> --file case.json
apidog run --test-case <CASE_ID> --project <PROJECT_ID> \
-e <ENVIRONMENT_ID> -r cli,json
Lassen Sie den Agenten die Hilfe und Schemata des Endpunkt-Befehls prüfen, wenn der Endpunkt noch nicht existiert. Verwenden Sie die zurückgegebenen IDs, nicht veranschaulichende Zahlen aus einem anderen Projekt. Validieren Sie case.json, bevor Sie es schreiben, und lesen Sie den erstellten Fall anschließend zurück, um zu bestätigen, dass die gewünschten Header, der Body und die Assertions gespeichert wurden.
Claude-API-Regressionstests in CI ausführen
Führen Sie dieselben Fälle nach Änderungen an Authentifizierung, Nachrichten-Serialisierung, Block-Parsing oder Retry-Handling aus. Exportieren Sie maschinenlesbare Berichte und halten Sie die Fixture-Version zusammen mit Ihrer Anwendungsänderung fest. Legen Sie eine bestandene Baseline fest, bevor Sie Vergleiche anstellen, und untersuchen Sie anschließend Fehler einzeln, statt den Build so lange neu zu starten, bis er zufällig besteht.

Für einen bereits in Apidog angelegten Fall ist ein CI-orientierter Aufruf:
apidog run --test-case <CASE_ID> --project <PROJECT_ID> \
-e <ENVIRONMENT_ID> -r cli,json,junit \
--out-dir ./apidog-reports
Wiederholen Sie dies für die anderen Fall-IDs oder lassen Sie Ihren Agenten die Fälle anhand des aktuellen Suite-Schemas in eine Test-Suite organisieren. Der Apidog-CI/CD-Leitfaden behandelt die Pipeline-Integration.
Halten Sie Modell, API-Version, Request-Body, Output-Budget, Fixture-Revision und CLI-Version im Laufprotokoll fest. Speichern Sie Zugangsdaten über den Secret-Mechanismus Ihrer CI. Prüfen Sie Berichte vor der Weitergabe auf sensible Request-Daten.
Verwenden Sie einen kleinen Live-Smoke-Testsatz bei Routineänderungen und einen breiteren Verhaltenssatz vor Releases. Setzen Sie Ihre eigenen Ausgaben- und Dauerbudgets. Ein bestandener API-Vertragstest stellt die Integrationskompatibilität sicher; Ihre anwendungsspezifischen Akzeptanztests zeigen, ob die Ausgabe nützlich ist.
FAQ
Welche Model-ID sollte ich testen?
Verwenden Sie claude-fable-5-2 für diesen direkten Claude-Platform-Workflow. Prüfen Sie die Verfügbarkeit in Ihrem Konto, bevor Sie eine Baseline speichern.
Reicht HTTP 200 zum Bestehen aus?
Nein. Prüfen Sie den Nachrichten-Umschlag, die typisierten Inhalte, den Abschlussgrund und die Akzeptanzkriterien des Fixtures. Streaming erfordert zusätzliche Prüfungen auf Event-Ebene, da Fehler auch nach dem Eintreffen der Response-Header auftreten können.
Kann ich das Thinking von Fable 5.2 deaktivieren?
Nein. Anthropic dokumentiert für dieses Modell immer aktives Thinking. Behalten Sie deaktiviertes Thinking als negativen Fall bei, der einen Validierungsfehler erwartet.
Sollte jede Antwort exakt übereinstimmen?
Verwenden Sie exakte Übereinstimmungen für eingeschränkte Fixtures wie das Ziffernbeispiel. Bei offenen Aufgaben definieren Sie faktische und strukturelle Kriterien, die gültige Formulierungsvariationen zulassen.
Kann mein Agent die Tests nach einer Behebung erneut ausführen?
Ja. Geben Sie ihm die gespeicherten Fall-IDs und die Umgebung und lassen Sie ihn dieselben CLI-Befehle ausführen und die Berichte zusammenfassen. Beginnen Sie mit dem Claude-Code-CLI-Workflow, wenn Sie ein Agent-Setup benötigen.
