Skip to Content
TestingVlastite tvrdnje

Vlastite tvrdnje

Custom assertions pretvaraju zahtjev u naredbu koju VM harness može izvršiti. Koristite ih za ponašanje koje mali zadani skup ne pokriva.

Struktura

Svaka custom-test grupa treba description i jednu ili više 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 } } ] }

description je obavezan na grupi i na svakoj assertion. on_vm bira ID VM u testnom okruženju s više VM; bez toga runner koristi primary. expected_visual navodi namjereno stanje snimke zaslona kad je aktivan visual evidence gate.

Dizajnirajte tvrdnje oko ishoda

  • Uslugu provjerite s service_running, ne samo postojanje paketa.
  • Prije testa vanjske rute provjerite lokalni endpoint.
  • Za jednu stabilnu konfiguracijsku činjenicu koristite file_contains, ne complete-file snapshot koji puca na bezazlenom formatiranju.
  • command_succeeds koristite samo s determinističkim, non-interactive commands.
  • Dugim naredbama dodajte timeout_seconds samo kad treba. Executor ograničava command timeouts na 1–1.800 sekundi.
  • Nikad ne stavljajte credentials u commands, descriptions, expected output ili URL; ta polja mogu se pojaviti u evidenciji i zapisnicima.

Semantika neuspjeha

Nepoznati type recipe model trenutačno prihvaća, ali postaje error kad executor ne pronađe handler. Poznate assertions bez required parameters mogu se izbaciti tijekom test-plan assembly uz upozorenje. Prije pokretanja builda validirajte recept i pregledajte materialized test plan.

Ako on_vm imenuje VM koji nije prisutan, assertion je skipped. skipped ili error ne tretirajte kao uspješno verification.

Primjer s više VM

{ "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 } ] } }

VM-name resolution ovisi o test topology i otkrivenim adresama. U run evidence potvrdite rendered topology i resolved command assertion.

Za svaki supported type i parametar pogledajte Vrste tvrdnji.