Unit test ing เป็นส่วนสำคัญของการพัฒนาซอฟต์แวร์เพื่อให้แน่ใจว่าซอร์สโค้ดมีความถูกต้องและเชื่อถือได้ ด้วย TypeScript คุณสามารถเขียน unit test s ได้อย่างง่ายดายและยืดหยุ่น โดยใช้เฟรมเวิร์กยอดนิยม เช่น Jest และ Mocha รวมกับไลบรารีการยืนยัน เช่น Chai และไลบรารีจำลอง เช่น Sinon.
นี่คือคำแนะนำโดยละเอียดเกี่ยวกับการเขียน unit test ด้วย TypeScript เครื่องมือและไลบรารีเหล่านี้:
Jest
Jest
เป็นเฟรมเวิร์กที่ใช้กันอย่างแพร่หลายสำหรับการเขียน unit test s in TypeScript และ JavaScript มีไวยากรณ์ที่เรียบง่ายและคุณสมบัติที่มีประสิทธิภาพ เช่น การเยาะเย้ย การทดสอบสแน็ปช็อต และรายงานความครอบคลุม
ในการเริ่มเขียน unit test s ด้วย Jest คุณต้องติดตั้ง Jest ผ่าน npm หรือเส้นด้ายโดยเรียกใช้คำสั่งต่อไปนี้:
npm install jest --save-dev
จากนั้น คุณสามารถสร้างไฟล์ทดสอบที่มีนามสกุล .spec.ts หรือ .test.ts และเขียนกรณีทดสอบ
ตัวอย่างเช่น:
// math.ts
export function add(a: number, b: number): number {
return a + b;
}
// math.spec.ts
import { add } from './math';
test('add function adds two numbers correctly',() => {
expect(add(2, 3)).toBe(5);
});
Mocha
Mocha
เป็นเฟรมเวิร์กรันเนอร์ทดสอบที่ยืดหยุ่นสำหรับ TypeScript และ JavaScript รองรับไวยากรณ์ที่ชัดเจนและการทดสอบประเภทต่างๆ เช่น unit test s การทดสอบการรวม และการทดสอบการทำงาน
หากต้องการใช้ Mocha
ใน TypeScript คุณต้องติดตั้ง Mocha
และ Chai
ผ่าน npm หรือเส้นด้ายโดยรันคำสั่งต่อไปนี้:
npm install mocha chai --save-dev
จากนั้น คุณสามารถสร้างไฟล์ทดสอบและเขียนกรณีทดสอบได้
ตัวอย่างเช่น:
// math.ts
export function add(a: number, b: number): number {
return a + b;
}
// math.spec.ts
import { expect } from 'chai';
import { add } from './math';
describe('add function',() => {
it('should add two numbers correctly',() => {
expect(add(2, 3)).to.equal(5);
});
});
Chai
Chai
เป็นไลบรารีการยืนยันที่เป็นที่นิยมใช้สำหรับการเขียนการยืนยันใน unit test s มีไวยากรณ์ที่ชัดเจนและยืดหยุ่น ช่วยให้คุณสามารถยืนยันผลลัพธ์ของซอร์สโค้ดของคุณได้ คุณสามารถใช้ Chai กับ Jest หรือ Mocha
เพื่อเขียนการยืนยันในกรณีทดสอบของคุณ
ตัวอย่างเช่น:
import { expect } from 'chai';
import { add } from './math';
it('add function should add two numbers correctly',() => {
expect(add(2, 3)).to.equal(5);
});
Sinon
Sinon
เป็นไลบรารีการเยาะเย้ยและการสอดแนมยอดนิยมที่ใช้ในการเยาะเย้ยและติดตามพฤติกรรมในกรณีทดสอบ คุณสามารถใช้ Sinon
กับ Jest
หรือ Mocha
เพื่อจำลองและติดตามกิจกรรมในวัตถุและฟังก์ชัน
ตัวอย่างเช่น:
import { expect } from 'chai';
import { add } from './math';
import sinon from 'sinon';
it('add function should call console.log with the correct result',() => {
const consoleSpy = sinon.spy(console, 'log');
add(2, 3);
expect(consoleSpy.calledWith(5)).to.be.true;
consoleSpy.restore();
});
การรวม Jest
หรือ Mocha
กับ Chai
และ Sinon
ช่วยให้คุณสร้าง unit test s ที่ทรงพลังและยืดหยุ่นใน TypeScript. ด้วยการใช้วิธีการและฟังก์ชันของ Jest
, Mocha
, Chai
, และ Sinon
คุณสามารถรับประกันความถูกต้องและความน่าเชื่อถือของซอร์สโค้ดของคุณในระหว่างกระบวนการพัฒนาซอฟต์แวร์