Ersten Test schreiben
Ein erster YAML-Test für einen Agenten, seine Ausführung über die CLI und dieselbe Testsuite als Gate für Deployments.
Auf dieser Seite
Überblick
YAML Tests für das Verhalten von Agenten
Ein Test ist eine YAML-Datei unter tests/. Diese Datei ruft einen Agenten ein- oder mehrmals mit einer statischen Payload oder einem dynamischen Builder auf und prüft Output, Tool-Aufrufe und ausgelöste Agenten mit Assertions. Tests verwenden das ausgewählte Connic-Environment.
Tests lassen sich auf zwei Arten ausführen:
- Ad hoc: mit
connic testim Terminal. Praktisch beim Iterieren. - Test-Gate: Jeder Aufruf von
connic deployund jedes automatische Git-Deployment führt die Testsuite vor der Aktivierung aus. Ein fehlgeschlagener Testfall bricht das Deployment ab.
Beide Wege akzeptieren dieselben Testsuiten und zeigen Ergebnisse für Testfälle und Aufrufe im Dashboard. Ein erfolgreicher Run des Test-Gates gibt das Deployment außerdem zur Aktivierung frei.
Nutze Judges, um Runs zu bewerten, und A/B Testing, um Live-Varianten mit explorativen Metriken oder in einem statistisch geplanten Konfidenzexperiment zu vergleichen.
Testfall erstellen
Erstelle tests/stress-tester.yaml. Der Dateiname wählt automatisch den Agenten stress-tester als Ziel aus.
version: "1.0"
tests:
- name: completes_cleanly
payload: "ping"
expected_result: status == "completed"Test ausführen
# Alle Testsuiten unter tests/ ausführen
connic test
# Während der Entwicklung nur diesen Case ausführen
connic test --filter completes_cleanlyDer Testfall ist erfolgreich, wenn der Run den Status completed erreicht. Ergänze als Nächstes Assertions für Ausgaben und Tool-Aufrufe oder gehe direkt zu CLI, Coverage und Test-Gate-Verhalten.
Dateistruktur
YAML Testsuiten werden rekursiv im Verzeichnis tests/ im Projekt-Root erkannt. Wenn die Datei kein agent:-Feld setzt, ist ihr Dateiname ohne Endung der Name des Ziel-Agenten.
tests/stress-tester.yaml enthält also Tests für den Agenten mit dem Namen stress-tester. Um eine große Testsuite für einen Agenten auf mehrere Dateien zu verteilen, etwa in Smoke- und Load-Tests, setze in jeder Datei das agent:-Feld auf Top-Level, damit alle denselben Agenten als Ziel verwenden. Weitere Details stehen in der Test-YAML-Referenz.