insta: perpustakaan pengujian snapshot untuk Rust
Tes snapshot (terkadang juga disebut tes persetujuan) adalah tes yang menyatakan nilai terhadap nilai referensi (snapshot). Ini mirip dengan bagaimana assert_eq!
memungkinkan Anda membandingkan nilai dengan nilai referensi, namun tidak seperti pernyataan string sederhana, pengujian snapshot memungkinkan Anda menguji nilai kompleks dan dilengkapi dengan alat komprehensif untuk meninjau perubahan.
Tes snapshot sangat berguna jika nilai referensi Anda sangat besar atau sering berubah.
#[test]fn test_hello_world() {insta::assert_debug_snapshot!(vec![1, 2, 3]);}
Penasaran? Ada screencast yang menunjukkan keseluruhan alur kerja: tonton screencast pengenalan insta. Atau jika Anda tidak menyukai video, baca pendahuluan berdurasi 5 menit.
Insta juga mendukung snapshot inline yang disimpan langsung di file sumber Anda, bukan di file terpisah. Hal ini dilakukan dengan alat kargo-insta pendamping.
Untuk melihat file .snap
terdapat ekstensi vscode yang dapat menyorot file snapshot secara sintaksis, meninjau snapshot, dan banyak lagi. Itu dapat diinstal dari pasar: lihat di pasar.
Insta menggunakan similar
untuk semua operasinya yang berbeda. Anda dapat menggunakannya secara independen dari Instagram. Anda dapat menggunakan peti similar-asserts
untuk mendapatkan perbedaan sebaris untuk assert_eq!
makro untuk mencapai perbedaan seperti insta untuk perbandingan reguler:
gunakan same_asserts::assert_eq;fn main() {biarkan referensi = vec![1, 2, 3, 4];assert_eq!(referensi, (0..4).collect::<Vec<_>>()) ;}
Jika Anda menyukai proyek ini dan merasa bermanfaat, Anda dapat menjadi sponsor.
Situs Proyek
Dokumentasi
Pelacak Masalah
Lisensi: Apache-2.0