JavaScript:
การเขียนการทดสอบ
วิธีการ:
วิธีพื้นฐาน (การใช้ Jest)
Jest เป็นเฟรมเวิร์คการทดสอบที่ได้รับความนิยม ซึ่งมี API ที่เป็นมิตรสำหรับการเขียน unit tests ใน JavaScript ต้องการการตั้งค่าเริ่มต้นน้อยและมาพร้อมกับฟีเจอร์เช่นฟังก์ชันทดลอง (mock functions), ตัวจับเวลา และการทดสอบสแนปช็อต
- การติดตั้ง:
npm install --save-dev jest
- การเขียนทดสอบง่ายๆ:
สร้างไฟล์ชื่อ sum.test.js
:
const sum = require('./sum'); // สมมุติว่าฟังก์ชันนี้เป็นการบวกเลขสองตัว
test('บวก 1 + 2 เท่ากับ 3', () => {
expect(sum(1, 2)).toBe(3);
});
- การรันทดสอบของคุณ:
npx jest
ผลลัพธ์ตัวอย่าง:
PASS ./sum.test.js
✓ บวก 1 + 2 เท่ากับ 3 (5ms)
การทดสอบโค้ดแบบอะซิงโครนัส
Jest ทำให้การทดสอบ promises และ syntax async/await เป็นเรื่องง่าย:
// asyncSum.js
async function asyncSum(a, b) {
return Promise.resolve(a + b);
}
// asyncSum.test.js
test('การบวกแบบอะซิงโครนัสทำงาน', async () => {
await expect(asyncSum(1, 2)).resolves.toBe(3);
});
การใช้ไลบรารีของบุคคลที่สาม (Mocha & Chai)
Mocha เป็นเฟรมเวิร์คการทดสอบอีกตัวที่ได้รับความนิยม บ่อยครั้งที่ใช้ร่วมกับไลบรารีการยืนยัน Chai เพื่อการทดสอบที่มีการแสดงออกมากขึ้น
- การติดตั้ง:
npm install --save-dev mocha chai
- การเขียนทดสอบด้วย Mocha และ Chai:
สร้าง calculate.test.js
:
const chai = require('chai');
const expect = chai.expect;
const calculate = require('./calculate'); // โมดูลการคำนวณง่ายๆ
describe('Calculate', function() {
it('ควรบวกค่าสองตัว', function() {
expect(calculate.sum(5, 2)).to.equal(7);
});
});
- การรันทดสอบของคุณด้วย Mocha:
เพิ่มสคริปต์ใน package.json
ของคุณ:
"scripts": {
"test": "mocha"
}
จากนั้นทำการรัน:
npm test
ผลลัพธ์ตัวอย่าง:
Calculate
✓ ควรบวกค่าสองตัว
1 passing (8ms)
ตัวอย่างเหล่านี้แสดงการเขียนและการทำงานของการทดสอบพื้นฐานใน JavaScript การเลือกใช้เฟรมเวิร์คการทดสอบเช่น Jest หรือ Mocha ร่วมกับ Chai สามารถให้ฐานรากที่มั่นคงสำหรับการทดสอบแอปพลิเคชันที่แข็งแกร่ง ช่วยให้แน่ใจว่าโค้ดของคุณทำงานได้ตามที่ตั้งใจไว้ตลอดการอัปเดตและการปรับปรุงโค้ด