insta: ไลบรารีการทดสอบสแน็ปช็อตสำหรับ Rust
การทดสอบสแนปชอต (บางครั้งเรียกว่าการทดสอบการอนุมัติ) คือการทดสอบที่ยืนยันค่าเทียบกับค่าอ้างอิง (สแน็ปช็อต) สิ่งนี้คล้ายกับ assert_eq!
ช่วยให้คุณสามารถเปรียบเทียบค่ากับค่าอ้างอิงได้ แต่แตกต่างจากการยืนยันสตริงแบบธรรมดา การทดสอบสแน็ปช็อตช่วยให้คุณสามารถทดสอบกับค่าที่ซับซ้อน และมาพร้อมกับเครื่องมือที่ครอบคลุมเพื่อตรวจสอบการเปลี่ยนแปลง
การทดสอบสแนปชอตจะมีประโยชน์อย่างยิ่งหากค่าอ้างอิงของคุณมีขนาดใหญ่มากหรือเปลี่ยนแปลงบ่อยครั้ง
#[ทดสอบ]fn test_hello_world() {insta::assert_debug_snapshot!(vec![1, 2, 3]);}
อยากรู้? มี screencast ที่แสดงขั้นตอนการทำงานทั้งหมด: ชม screencast แนะนำ insta หรือหากคุณไม่ชอบวิดีโอ โปรดอ่านคำแนะนำความยาว 5 นาที
Insta ยังรองรับสแน็ปช็อตแบบอินไลน์ซึ่งจัดเก็บไว้ในไฟล์ต้นฉบับของคุณแทนที่จะเป็นไฟล์แยกกัน ซึ่งทำได้โดยใช้เครื่องมือ cargo-insta ที่แสดงร่วม
สำหรับการดูไฟล์ .snap
จะมีนามสกุล vscode ซึ่งสามารถเน้นไวยากรณ์ของไฟล์สแนปช็อต ตรวจสอบสแนปช็อต และอื่นๆ อีกมากมาย สามารถติดตั้งได้จากตลาด: ดูในตลาด
Insta ใช้ similar
สำหรับการดำเนินการที่แตกต่างกันทั้งหมด คุณสามารถใช้มันได้อย่างอิสระจาก insta คุณสามารถใช้ที่ similar-asserts
ลังเพื่อรับความแตกต่างแบบอินไลน์สำหรับมาตรฐาน assert_eq!
มาโครเพื่อให้ได้ insta like diffs สำหรับการเปรียบเทียบปกติ:
ใช้like_asserts::assert_eq;fn main() {let Reference = vec![1, 2, 3, 4];assert_eq!(reference, (0..4).collect::<Vec<_>>()) ;}
หากคุณชอบโครงการและพบว่ามีประโยชน์ คุณสามารถเป็นผู้สนับสนุนได้
เว็บไซต์โครงการ
เอกสารประกอบ
ติดตามปัญหา
ใบอนุญาต: Apache-2.0