การเขียนแบบทดสอบหน่วยใน TypeScript: การใช้ Jest, Mocha, และการรวมกับ Chai และ Sinon

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 คุณสามารถรับประกันความถูกต้องและความน่าเชื่อถือของซอร์สโค้ดของคุณในระหว่างกระบวนการพัฒนาซอฟต์แวร์