Zum Hauptinhalt springen
Connic
Test

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.

Zuletzt aktualisiert

Ü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 test im Terminal. Praktisch beim Iterieren.
  • Test-Gate: Jeder Aufruf von connic deploy und 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.

tests/stress-tester.yaml
version: "1.0"

tests:
  - name: completes_cleanly
    payload: "ping"
    expected_result: status == "completed"

Test ausführen

terminal
# Alle Testsuiten unter tests/ ausführen
connic test

# Während der Entwicklung nur diesen Case ausführen
connic test --filter completes_cleanly

Der 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.

Projektstruktur
my-agent-project/
agents/
stress-tester.yaml
tools/
math/
calculator.py
tests/YAML suites are discovered recursively
stress-tester.yamltests for the stress-tester agent
search.yamltests for the search agent
files/binary fixtures referenced by files:
invoice.pdf
receipt.jpg
builders/dynamic-payload builders referenced by builder:
create_charge.py
mocks/custom-code replacements referenced by mocks:
customer_mocks.py
requirements.txt
.connic

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.