Τι είναι και τι πρόβλημα λύνει

Το snapshot testing (ή approval testing) επιλύει το πρόβλημα της διαχείρισης μεγάλων ή συχνά μεταβαλλόμενων δεδομένων σε unit tests. Αντί για χειροκίνητες δηλώσεις (assertions) που γίνονται δυσανάγνωστες, το insta αποθηκεύει την αναμενόμενη έξοδο σε ξεχωριστά αρχεία .snap ή απευθείας στον πηγαίο κώδικα, επιτρέποντας την εύκολη αναθεώρηση των αλλαγών.

Βασικά χαρακτηριστικά

  • Inline Snapshots: Δυνατότητα αποθήκευσης των snapshots απευθείας μέσα στο source file μέσω του cargo-insta.
  • Εργαλεία αναθεώρησης: Πλήρης υποστήριξη μέσω VS Code extension για syntax highlighting και διαχείριση των snapshots.
  • Diffing υψηλής ποιότητας: Χρήση της βιβλιοθήκης similar για ακριβή και ευανάγνωστα diffs, με δυνατότητα επέκτασης και σε standard assert_eq! μέσω του similar-asserts.

Σε ποιους απευθύνεται

Απευθύνεται σε Rust developers που αναπτύσσουν συστήματα με πολύπλοκα data structures ή συχνά αλλαζόμενα outputs, όπου το κλασικό unit testing γίνεται δυσκίνητο.