บทช่วยสอนกรอบงาน Jasmine: การทดสอบหน่วยพร้อมตัวอย่าง

JasmineJS คืออะไร?

Jasmine เป็นโอเพ่นซอร์สและเป็นที่นิยมมากที่สุด Javaกรอบการทำงานการทดสอบไลบรารีสคริปต์เพื่อทดสอบทุกประเภท Javaการใช้งานสคริปต์ จัสมินปฏิบัติตามขั้นตอนการพัฒนาที่ขับเคลื่อนด้วยพฤติกรรม (BDD) เพื่อให้แน่ใจว่าแต่ละบรรทัดของ Javaคำสั่งสคริปต์ได้รับการทดสอบยูนิตอย่างถูกต้อง

Jasmine Framework ใช้ทำอะไร?

การทดสอบเป็นองค์ประกอบสำคัญสำหรับแอปพลิเคชันใดๆ สำหรับการทดสอบหน่วย NodeJS เฟรมเวิร์กที่ใช้ได้สำหรับการทดสอบเรียกว่า Jasmine ในช่วงต้นปี 2000 มีกรอบการทดสอบ Javaต้นฉบับ แอปพลิเคชันชื่อ JsUnit Later กรอบงานนี้ได้รับการอัพเกรดและรู้จักกันในชื่อจัสมินในปัจจุบัน

จัสมินช่วยโดยอัตโนมัติ การทดสอบหน่วยซึ่งเป็นสิ่งที่กลายเป็นแนวทางปฏิบัติที่สำคัญในการพัฒนาและปรับใช้เว็บแอปพลิเคชันยุคใหม่

ในบทช่วยสอน Jasmine นี้ คุณจะได้เรียนรู้วิธีการตั้งค่าสภาพแวดล้อมด้วย Jasmine และวิธีการรันการทดสอบ Jasmine สำหรับแอปพลิเคชัน Node.js แรกของคุณ

Jasmine สำหรับทดสอบแอปพลิเคชัน Node.js

จัสมินเป็น การพัฒนาที่ขับเคลื่อนด้วยพฤติกรรม (BDD) กรอบการทดสอบสำหรับ Javaสคริปท์ มันทำได้ ไม่ พึ่งพาเบราว์เซอร์, DOM หรืออื่นๆ Javaกรอบงานสคริปต์ จึงเหมาะสำหรับเว็บไซต์ โปรเจ็กต์ Node.js หรือที่ใดก็ตามที่ Javaสคริปต์สามารถทำงานได้ หากต้องการเริ่มใช้ Jasmine คุณต้องดาวน์โหลดและติดตั้งโมดูล Jasmine ที่จำเป็นก่อน

วิธีการตั้งค่าสภาพแวดล้อมการทดสอบจัสมิน

ถัดไปในบทช่วยสอน Jasmine Node JS นี้ คุณจะต้องเริ่มต้นสภาพแวดล้อมของคุณและตรวจสอบไฟล์การกำหนดค่า jasmine ขั้นตอนด้านล่างแสดงวิธีการตั้งค่า Jasmine ในสภาพแวดล้อมของคุณ

ขั้นตอน 1) ติดตั้งโมดูล NPM
คุณจำเป็นต้อง ติดตั้ง NPM โมดูลดอกมะลิเพื่อใช้กรอบงานดอกมะลิจากภายในแอปพลิเคชันโหนด หากต้องการติดตั้งโมดูล jasmine-node ให้รันคำสั่งด้านล่าง

npm ติดตั้ง jasmine-node.js

ขั้นตอน 2) เริ่มต้นสภาพแวดล้อมจัสมิน
การเริ่มต้นโปรเจ็กต์ – ด้วยการทำเช่นนี้ jasmine จะสร้างไดเร็กทอรีข้อมูลจำเพาะและ json การกำหนดค่าให้กับคุณ ไดเร็กทอรี spec ใช้เพื่อจัดเก็บไฟล์ทดสอบทั้งหมดของคุณ เมื่อทำเช่นนี้ จัสมินจะรู้ว่าการทดสอบทั้งหมดของคุณอยู่ที่ไหน จากนั้นจึงดำเนินการตามนั้นได้ ที่ JSON ไฟล์ใช้เพื่อเก็บข้อมูลการกำหนดค่าเฉพาะเกี่ยวกับดอกมะลิ

ในการเริ่มต้นสภาพแวดล้อมจัสมินให้รันคำสั่งด้านล่าง

ดอกมะลิ

ขั้นตอน 3) ตรวจสอบไฟล์การกำหนดค่าของคุณ
ไฟล์การกำหนดค่าจะถูกจัดเก็บไว้ในโฟลเดอร์ spec/support ในชื่อ jasmine.json ไฟล์นี้ระบุไฟล์ต้นฉบับและไฟล์ข้อมูลจำเพาะที่คุณต้องการให้ Jasmine runner รวมไว้ด้วย

ภาพหน้าจอด้านล่างแสดงตัวอย่างทั่วไปของไฟล์ package.json สำหรับดอกมะลิ

ตั้งค่าสภาพแวดล้อมการทดสอบจัสมิน

  1. โปรดทราบว่ามีการระบุไดเร็กทอรี spec ที่นี่ ตามที่กล่าวไว้ข้างต้น เมื่อ jasmine ทำงาน มันจะค้นหาการทดสอบทั้งหมดในไดเร็กทอรีนี้
  2. สิ่งถัดไปที่ควรทราบคือพารามิเตอร์ spec_files ซึ่งหมายถึงว่าไฟล์ทดสอบใดก็ตามที่ถูกสร้างขึ้น ควรต่อท้ายด้วยคำสำคัญ 'spec'

ต่อไปในบทช่วยสอนเฟรมเวิร์ก Jasmine เราจะเรียนรู้วิธีใช้ Jasmine เพื่อทดสอบแอปพลิเคชัน Node.js

วิธีใช้ Jasmine เพื่อทดสอบแอปพลิเคชัน Node.js

หากต้องการใช้การทดสอบหน่วย Jasmine สำหรับแอปพลิเคชัน Node.js จำเป็นต้องปฏิบัติตามขั้นตอนต่างๆ

ในตัวอย่างด้านล่าง เราจะกำหนดโมดูลที่บวกตัวเลข 2 ตัวซึ่งจำเป็นต้องทดสอบ จากนั้นเราจะกำหนดไฟล์โค้ดแยกต่างหากที่มีโค้ดทดสอบ จากนั้นจึงใช้ jasmine เพื่อทดสอบฟังก์ชัน Add ตามลำดับ

ขั้นตอน 1) กำหนดโค้ดที่ต้องการทดสอบ เราจะกำหนดฟังก์ชันที่จะบวกเลข 2 ตัวและส่งกลับผลลัพธ์ โค้ดนี้จะเขียนในไฟล์ชื่อ "Add.js"

ใช้ Jasmine เพื่อทดสอบแอปพลิเคชัน Node.js

var exports=module.exports={};
exports.AddNumber=function(a,b)
{
return a+b;
};

คำอธิบายรหัส

  1. คำสำคัญ "ส่งออก" ใช้เพื่อให้แน่ใจว่าไฟล์อื่นสามารถเข้าถึงฟังก์ชันการทำงานที่กำหนดไว้ในไฟล์นี้ได้
  2. จากนั้นเราจะกำหนดฟังก์ชันที่เรียกว่า 'AddNumber' ฟังก์ชันนี้ถูกกำหนดให้รับพารามิเตอร์ 2 ตัว คือ a และ b ฟังก์ชันนี้จะถูกเพิ่มลงในโมดูล “ส่งออก” เพื่อให้ฟังก์ชันนี้เป็นฟังก์ชันสาธารณะที่โมดูลแอปพลิเคชันอื่นๆ สามารถเข้าถึงได้
  3. ในที่สุดเราก็ทำให้ฟังก์ชันของเราส่งคืนค่าเพิ่มของพารามิเตอร์

ขั้นตอน 2) ต่อไป เราต้องกำหนดโค้ดทดสอบจัสมิน ซึ่งจะใช้เพื่อทดสอบฟังก์ชัน "เพิ่ม" ในไฟล์ Add.js รหัสด้านล่างจะต้องใส่ในไฟล์ที่เรียกว่า เพิ่ม-spec.js

หมายเหตุ: – ต้องเพิ่มคำว่า 'spec' ลงในไฟล์ทดสอบเพื่อให้จัสมินตรวจพบได้

ใช้ Jasmine เพื่อทดสอบแอปพลิเคชัน Node.js

คำอธิบายรหัส

var app=require("../Add.js");
describe("Addition",function(){
it("The function should add 2 numbers",function() {
var value=app.AddNumber(5,6);
expect(value).toBe(11);
});
});
  1. ก่อนอื่นเราต้องรวมไฟล์ Add.js ของเราเพื่อทดสอบฟังก์ชัน 'AddNumber' ในไฟล์นี้
  2. ขณะนี้เรากำลังสร้างโมดูลทดสอบของเรา ส่วนแรกของโมดูลการทดสอบคือการอธิบายวิธีการที่โดยพื้นฐานแล้วให้ชื่อสำหรับการทดสอบของเรา ในกรณีนี้ ชื่อของการทดสอบของเราคือ "เพิ่มเติม"
  3. ต่อไปคือการให้คำอธิบายสำหรับการทดสอบของเราโดยใช้วิธี 'it'
  4. ตอนนี้เราเรียกใช้เมธอด Addnumber ของเราและส่งพารามิเตอร์ 2 และ 5 ไปเป็น 6 ตัว ซึ่งจะถูกส่งผ่านไปยังเมธอด Addnumber ของเราในไฟล์ App.js ค่าที่ส่งคืนจะถูกเก็บไว้ในตัวแปรที่เรียกว่าค่า
  5. ขั้นตอนสุดท้ายคือทำการเปรียบเทียบหรือทดสอบจริงของเรา เนื่องจากเราคาดว่าค่าที่ส่งคืนโดยฟังก์ชัน Addnumber จะเป็น 11 เราจึงกำหนดค่านี้โดยใช้เมธอด Expect(value).toBe(ค่าที่คาดหวัง)

เอาท์พุต

  1. ในการรันการทดสอบ เราจำเป็นต้องรันคำสั่ง jasmine
  2. ภาพหน้าจอด้านล่างแสดงให้เห็นว่าหลังจากรันคำสั่ง jasmine แล้ว มันจะตรวจพบว่ามีการทดสอบที่เรียกว่า add-spec.js และดำเนินการทดสอบนั้นตามนั้น หากมีข้อผิดพลาดในการทดสอบก็จะแสดงตามนั้น

ใช้ Jasmine เพื่อทดสอบแอปพลิเคชัน Node.js

สรุป

  • เพื่อทดสอบก Node.js จำเป็นต้องติดตั้งเฟรมเวิร์ก jasmine ก่อน ทำได้โดยใช้ตัวจัดการแพ็คเกจโหนด
  • รหัสทดสอบจะต้องเขียนเป็นไฟล์แยกต่างหาก และควรเพิ่มคำว่า 'spec' ต่อท้ายชื่อไฟล์ เมื่อดำเนินการเสร็จแล้วเท่านั้น จัสมินจะสามารถตรวจพบได้ว่าจำเป็นต้องเรียกใช้ไฟล์
  • หากต้องการรันการทดสอบ คุณต้องดำเนินการคำสั่ง jasmine ซึ่งจะค้นหาไฟล์ทั้งหมดที่มีคำว่า 'spec' แนบอยู่และเรียกใช้ไฟล์ตามลำดับ

สรุปโพสต์นี้ด้วย: