Skip to Content
TestingΠροσαρμοσμένοι ισχυρισμοί

Προσαρμοσμένοι ισχυρισμοί

Οι προσαρμοσμένοι ισχυρισμοί μετατρέπουν μια απαίτηση σε εντολή που μπορεί να εκτελέσει η πλεξούδα VM. Χρησιμοποιήστε τα για συμπεριφορά που δεν καλύπτει η μικρή προεπιλεγμένη σουίτα.

Δομή

Κάθε ομάδα προσαρμοσμένης δοκιμής χρειάζεται μια περιγραφή και μία ή περισσότερες δομημένες ισχυρισμοί:

{ "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 απαιτείται τόσο στην ομάδα όσο και σε κάθε ισχυρισμό. on_vm επιλέγει ένα αναγνωριστικό VM σε περιβάλλον δοκιμής πολλαπλών VM. χωρίς αυτό ο δρομέας χρησιμοποιεί primary. Το expected_visual παρέχει την προβλεπόμενη κατάσταση στιγμιότυπου οθόνης όταν το Η πύλη οπτικών αποδείξεων είναι ενεργή.

Σχεδιάστε ισχυρισμούς γύρω από τα αποτελέσματα

  • Ελέγξτε μια υπηρεσία με το service_running, όχι απλώς ότι υπάρχει το πακέτο της.
  • Ελέγξτε ένα τοπικό τελικό σημείο πριν δοκιμάσετε μια εξωτερική διαδρομή.
  • Χρησιμοποιήστε το file_contains για ένα γεγονός σταθερής διαμόρφωσης, όχι για ένα πλήρες αρχείο στιγμιότυπο που σπάει σε αβλαβή μορφοποίηση.
  • Χρησιμοποιήστε το command_succeeds μόνο με ντετερμινιστικές, μη διαδραστικές εντολές.
  • Δώστε μεγάλες εντολές timeout_seconds μόνο όταν χρειάζεται. Ο εκτελεστής σφιγκτήρας χρονικά όρια εντολής σε 1–1.800 δευτερόλεπτα.
  • Μην βάζετε ποτέ διαπιστευτήρια σε εντολές, περιγραφές, αναμενόμενα αποτελέσματα ή διευθύνσεις URL. Αυτά τα πεδία μπορούν να εμφανίζονται σε αποδεικτικά στοιχεία και αρχεία καταγραφής.

Σημασιολογία αποτυχίας

Ένας άγνωστος τύπος γίνεται επί του παρόντος αποδεκτός από το μοντέλο συνταγής αλλά γίνεται ένα error όταν ο εκτελεστής δεν μπορεί να βρει έναν χειριστή. Γνωστοί ισχυρισμοί που παραλείπουν Οι απαιτούμενες παράμετροι μπορούν να απορριφθούν κατά τη συναρμολόγηση του σχεδίου δοκιμής με μια προειδοποίηση. Επομένως, επικυρώστε τη συνταγή και επιθεωρήστε προηγουμένως το υλοποιημένο σχέδιο δοκιμής ξεκινώντας μια κατασκευή.

Εάν το on_vm ονομάσει ένα VM που δεν υπάρχει, ο ισχυρισμός είναι skipped. Όχι Αντιμετωπίστε το skipped ή το error ως επιτυχή επαλήθευση.

Παράδειγμα Multi-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 εξαρτάται από την τοπολογία δοκιμής και τις διευθύνσεις που ανακαλύφθηκαν. Επιβεβαιώστε την απόδοση της τοπολογίας και την επιλυμένη εντολή του ισχυρισμού κατά την εκτέλεση αποδεικτικά στοιχεία.

Για κάθε υποστηριζόμενο τύπο και παράμετρο, βλ Τύποι ισχυρισμών.