Jest — กรอบการทดสอบ JavaScript ที่ทรงพลัง
การทดสอบเป็นส่วนสำคัญของการพัฒนาซอฟต์แวร์ ช่วยให้มั่นใจได้ว่าโค้ดมีความน่าเชื่อถือ ทำงานตามที่คาดไว้ และลดโอกาสเกิดข้อผิดพลาด กรอบการทดสอบมีมาไกลตั้งแต่วันแรกของการทดสอบด้วยตนเอง ปัจจุบัน เฟรมเวิร์กการทดสอบอัตโนมัติอย่าง Jest ทำให้การทดสอบใน JavaScript เป็นเรื่องง่าย
Jest Framework คืออะไร
Jest เป็นเฟรมเวิร์กการทดสอบ JavaScript ที่รวดเร็ว เรียบง่าย และใช้งานง่าย เป็นเครื่องมือโอเพ่นซอร์สที่พัฒนาโดย Facebook และมักใช้สำหรับทดสอบแอปพลิเคชัน React แต่ยังสามารถใช้กับเฟรมเวิร์กอื่นๆ เช่น Angular, Vue และ Node.js Jest สร้างขึ้นจากJasmineซึ่งเป็นเฟรมเวิร์กการพัฒนาที่ขับเคลื่อนด้วยพฤติกรรมสำหรับการทดสอบโค้ด JavaScript
คุณสมบัติของ Jest Framework
- การทดสอบที่รวดเร็วและขนานกัน : Jest ทำการทดสอบแบบขนาน ซึ่งช่วยเร่งกระบวนการทดสอบอย่างมาก
- การทดสอบสแน็ปช็อต : Jest ให้คุณถ่ายภาพสแน็ปช็อตของเอาต์พุตของคอมโพเนนต์และเปรียบเทียบกับการเปลี่ยนแปลงในอนาคตเพื่อให้แน่ใจว่าเอาต์พุตจะไม่เปลี่ยนแปลงโดยไม่คาดคิด
- การเยาะเย้ยและการสอดแนม : Jest ให้ระบบการเยาะเย้ยที่ทรงพลังซึ่งช่วยให้คุณจำลองพฤติกรรมของการพึ่งพาภายนอกหรือฟังก์ชั่นที่ยากต่อการทดสอบ คุณยังสามารถใช้สายลับเพื่อติดตามการเรียกใช้ฟังก์ชันและการโต้แย้ง
- รายงานความครอบคลุมของโค้ด : Jest จะสร้างรายงานความครอบคลุมของโค้ดที่แสดงว่าการทดสอบของคุณครอบคลุมโค้ดของคุณมากเพียงใด สิ่งนี้ช่วยให้คุณระบุส่วนของ codebase ที่ต้องการการทดสอบเพิ่มเติม
- ตัวรันการทดสอบในตัว: Jest มีตัวรันการทดสอบที่เรียกใช้การทดสอบของคุณโดยอัตโนมัติและให้ผลลัพธ์โดยละเอียดและข้อความแสดงข้อผิดพลาด
- กำหนดค่าง่าย: Jest กำหนดค่าได้ง่าย และมาพร้อมกับค่าเริ่มต้นที่เหมาะสมซึ่งใช้ได้กับโครงการส่วนใหญ่ คุณยังสามารถปรับแต่ง Jest ให้เหมาะกับความต้องการเฉพาะของคุณได้
- การกำหนดค่าเป็นศูนย์สำหรับโครงการขนาดเล็ก:สำหรับโครงการขนาดเล็ก สามารถใช้ Jest กับการกำหนดค่าเป็นศูนย์ได้ ซึ่งหมายความว่าคุณสามารถเริ่มการทดสอบการเขียนได้ทันทีโดยไม่ต้องกังวลเกี่ยวกับการตั้งค่า
- ความซับซ้อน: Jest สามารถซับซ้อนในการตั้งค่าและกำหนดค่าสำหรับโครงการขนาดใหญ่ มีตัวเลือกการกำหนดค่ามากมายและต้องการความรู้บางอย่างเกี่ยวกับวิธีการเขียนแบบทดสอบ
- ประสิทธิภาพการทำงานช้า: Jest อาจทำงานได้ช้า โดยเฉพาะอย่างยิ่งสำหรับชุดทดสอบขนาดใหญ่ นี่อาจเป็นปัญหาสำหรับนักพัฒนาที่ต้องเรียกใช้การทดสอบบ่อยครั้งโดยเป็นส่วนหนึ่งของเวิร์กโฟลว์
- การสนับสนุนชุมชนที่จำกัด:แม้ว่า Jest จะมีชุมชนผู้ใช้จำนวนมาก แต่อาจไม่ได้รับการสนับสนุนอย่างกว้างขวางเท่ากับเฟรมเวิร์กการทดสอบอื่นๆ เช่น Mocha หรือ Jasmine
- ขาดความยืดหยุ่น: Jest เป็นโซลูชันการทดสอบที่สมบูรณ์พร้อมเครื่องมือการยืนยัน การเยาะเย้ย และการรายงานความครอบคลุม แม้ว่าสิ่งนี้จะสะดวก แต่ก็อาจไม่ให้ความยืดหยุ่นในระดับเดียวกับการใช้ไลบรารีแยกต่างหากสำหรับงานเหล่านี้
Jest สามารถติดตั้งได้โดยใช้ npm หรือเส้นด้าย เมื่อติดตั้งแล้ว คุณสามารถใช้เพื่อทดสอบโค้ดของคุณได้ Jest ค้นหาไฟล์ในโฟลเดอร์ทดสอบหรือไฟล์ที่มีนามสกุล .test.js หรือ .spec.js
ในการติดตั้ง Jest ให้ใช้คำสั่งต่อไปนี้:
$ npm install -g jest
เพิ่มส่วนต่อไปนี้ในไฟล์ package.json ของคุณ
{
"scripts": {
"test": "jest"
}
}
{
"name": "jest-e2e",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "jest"
},
"author": "",
"license": "ISC",
"dependencies": {
"jest": "^25.1.0"
}
}
สร้างไฟล์ js ชื่อ index.js พร้อมฟังก์ชันที่จะทดสอบ ตัวอย่างเช่น:
ตอนนี้ สร้างไฟล์ทดสอบในโฟลเดอร์เดียวกันชื่อ sum.test.js เพื่อทดสอบฟังก์ชัน ในไฟล์ทดสอบ ให้นำเข้าฟังก์ชันเพื่อดำเนินการโค้ดในการทดสอบ ตัวอย่างเช่น:
จากนั้น เขียนการทดสอบสำหรับฟังก์ชันโดยใช้การทดสอบรูปแบบ BDD ของ Jest พร้อมบล็อกอธิบายและบล็อกการทดสอบหลายชุด ตัวอย่างเช่น:
ในการเรียกใช้การทดสอบนี้ เพียงเรียกใช้คำสั่ง “ npm test ” ในเทอร์มินัลหรือพรอมต์คำสั่งที่ตำแหน่งโปรเจ็กต์
บทสรุป
กรอบการทดสอบ Jest นั้นยอดเยี่ยมสำหรับการทดสอบโค้ด JavaScript รวดเร็ว ใช้งานง่าย และสามารถรวมเข้ากับการทดสอบอัตโนมัติได้ การใช้ Jest ช่วยให้นักพัฒนาสร้างรหัสที่เชื่อถือได้และบำรุงรักษาได้ ในบล็อกนี้ เราได้กล่าวถึงพื้นฐานของ Jest วิธีการติดตั้ง และวิธีทดสอบไฟล์ JavaScript อย่างง่าย โดยรวมแล้ว Jest เป็นเครื่องมือที่ทรงพลังสำหรับการสร้างโค้ด JavaScript คุณภาพสูง