Skip to Content
TestingPasirinktinės patikros

Pasirinktinės patikros

Pasirinktinės patikros paverčia reikalavimą komanda, kurią VM harness gali vykdyti. Naudokite jas elgesiui, kurio nedengia maža numatytoji testų rinktinė.

Struktūra

Kiekvienai custom-test grupei reikia aprašymo ir vienos ar daugiau struktūrizuotų patikrų:

{ "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 privalomas ir grupei, ir kiekvienai patikrai. on_vm renkasi VM ID daugių VM testų aplinkoje; be jo vykdytojas naudoja primary. expected_visual nurodo numatytą ekrano nuotraukos būseną, kai aktyvus vizualinės įrodymų vartai.

Kurkite patikras pagal rezultatus

  • Tikrinkite paslaugą su service_running, ne tik ar paketas egzistuoja.
  • Prieš tikrindami išorinį maršrutą patikrinkite vietinį endpoint.
  • Naudokite file_contains vienam stabiliam konfigūracijos faktui, ne viso failo snapshot, kuris lūžta dėl nekenksmingo formatavimo.
  • Naudokite command_succeeds tik su deterministinėmis, neinteraktyviomis komandomis.
  • Ilgoms komandoms timeout_seconds nurodykite tik kai reikia. Vykdytojas apriboja komandų timeout iki 1–1,800 sekundžių.
  • Niekada nedėkite kredencialų į komandas, aprašymus, tikėtiną išvestį ar URL; šie laukai gali pasirodyti įrodymuose ir žurnale.

Nesėkmės semantika

Nežinomas tipas dabar priimamas recepto modelyje, bet tampa error, kai vykdytojas neranda handler. Žinomos patikros, kurioms trūksta privalomų parametrų, gali būti pašalintos testų plano surinkimo metu su įspėjimu. Todėl patvirtinkite receptą ir peržiūrėkite materializuotą testų planą prieš paleidžiant build.

Jei on_vm nurodo VM, kurio nėra, patikra yra skipped. Nelaikykite skipped ar error sėkminga verifikacija.

Daugelio VM pavyzdys

{ "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 vardų sprendimas priklauso nuo testų topologijos ir jos aptiktų adresų. Patvirtinkite atvaizduotą topologiją ir patikros išspręstą komandą vykdymo įrodymuose.

Visiems palaikomiems tipams ir parametrams žr. Patikros tipai.