Skip to Content
TestingPielāgotas pārbaudes

Pielāgotas pārbaudes

Pielāgotas pārbaudes pārvērš prasību komandā, ko VM harness var izpildīt. Izmantojiet tās uzvedībai, ko maza noklusējuma testu kopa neaptver.

Struktūra

Katram custom-test grupai vajag aprakstu un vienu vai vairākas strukturētas pārbaudes:

{ "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 ir obligāts gan grupai, gan katrai pārbaudei. on_vm izvēlas VM ID vairāku VM testu vidē; bez tā izpildītājs izmanto primary. expected_visual norāda paredzamo ekrānuzņēmuma stāvokli, kad aktīvs vizuālās pierādījumu vārti.

Veidojiet pārbaudes ap rezultātiem

  • Pārbaudiet pakalpojumu ar service_running, ne tikai to, vai pakotne pastāv.
  • Pirms ārējā maršruta testēšanas pārbaudiet vietējo endpoint.
  • Izmantojiet file_contains vienam stabilam konfigurācijas faktam, ne visam faila snapshot, kas salūst pie nekaitīgas formatēšanas.
  • Izmantojiet command_succeeds tikai ar deterministiskām, neinteraktīvām komandām.
  • Garām komandām timeout_seconds piešķiriet tikai kad vajag. Izpildītājs ierobežo komandu timeout līdz 1–1,800 sekundēm.
  • Nekad nelieciet akreditācijas datus komandās, aprakstos, gaidītajā izvadē vai URL; šie lauki var parādīties pierādījumos un žurnālos.

Neveiksmes semantika

Nezināms tips pašlaik tiek pieņemts receptes modelī, bet kļūst par error, ja izpildītājs neatrod handler. Zināmas pārbaudes, kurām trūkst obligāto parametru, var tikt izmestas testu plāna salikšanas laikā ar brīdinājumu. Tāpēc validējiet recepti un pārskatiet materializēto testu plānu pirms build sākšanas.

Ja on_vm nosauc VM, kura nav, pārbaude ir skipped. Neuzskatiet skipped vai error par veiksmīgu verifikāciju.

Vairāku VM piemērs

{ "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 vārdu atrisināšana ir atkarīga no testu topoloģijas un tās atklātajām adresēm. Apstipriniet renderēto topoloģiju un pārbaudes atrisināto komandu izpildes pierādījumos.

Katram atbalstītajam tipam un parametram skatiet Pārbaudes tipi.