Skip to Content
TestingSaját állítások

Saját állítások

A custom assertions egy követelményt olyan parancssá alakít, amelyet a VM harness végrehajthat. Használja őket olyan viselkedéshez, amit a kis alapértelmezett készlet nem fed le.

Felépítés

Minden custom-test csoportnak kell description és egy vagy több structured assertions:

{ "description": "Verify the web service", "category": "application", "assertions": [ { "type": "service_running", "description": "Nginx is active", "params": { "service": "nginx" }, "expected_visual": "The evidence panel shows nginx active" }, { "type": "http_responds", "description": "Local health endpoint responds", "params": { "url": "http://localhost/health", "status": 200 } } ] }

A description kötelező a csoportnál és minden assertionnél. Az on_vm egy VM ID-t választ több VM-es test environmentben; enélkül a runner a primary értéket használja. Az expected_visual a kívánt képernyőkép-állapotot adja meg, ha a visual evidence gate aktív.

Az eredmények köré tervezze az állításokat

  • Szolgáltatást a service_running ellenőrizze, ne csak a csomag létezését.
  • Külső útvonal tesztelése előtt ellenőrizze a helyi endpointot.
  • Egy stabil konfigurációs tényhez használja a file_contains típust, ne complete-file snapshotot, amely ártalmatlan formázásnál elhasal.
  • A command_succeeds csak determinisztikus, non-interactive commands esetén legyen.
  • Hosszú parancsoknál csak szükség esetén adjon timeout_seconds értéket. Az executor a command timeouts értéket 1–1800 másodperc közé szorítja.
  • Soha ne tegyen credentials adatot commands, descriptions, expected output vagy URL mezőbe; ezek a mezők megjelenhetnek az evidence-ben és a naplókban.

Hibakezelés szemantikája

Az ismeretlen type jelenleg a recipe model által elfogadott, de error lesz belőle, ha az executor nem talál handlert. A known assertions required parameters nélkül test-plan assembly során figyelmeztetéssel kieshetnek. Build indítása előtt validálja a receptet, és nézze át a materialized test plan-t.

Ha az on_vm olyan VM-et nevez meg, amely nincs jelen, az assertion skipped. A skipped vagy error állapotot ne tekintse sikeres verificationnek.

Több VM-es példa

{ "description": "Client reaches the API node", "assertions": [ { "type": "http_responds", "description": "API health is reachable from the client", "on_vm": "client", "params": { "url": "http://api:8080/health", "status": 200 } } ], "environment": { "vms": [ { "vm_id": "client", "role": "client", "networks": ["lan"] }, { "vm_id": "api", "role": "server", "networks": ["lan"] } ], "networks": [ { "network_id": "lan", "type": "isolated", "dhcp": true } ] } }

A VM-name resolution a test topology-tól és a felfedezett címektől függ. A run evidence-ben erősítse meg a rendered topology-t és az assertion resolved command-ját.

Minden supported type és paraméter esetén lásd: Állítástípusok.