Ujian Unit Penulisan dalam TypeScript: Menggunakan Jest, Mocha, dan Menggabungkan dengan Chai dan Sinon

Unit test adalah bahagian penting dalam pembangunan perisian untuk memastikan ketepatan dan kebolehpercayaan kod sumber. Dengan TypeScript, anda boleh menulis unit test s dengan mudah dan fleksibel, menggunakan rangka kerja popular seperti Jest dan Mocha, digabungkan dengan perpustakaan penegasan seperti Chai dan perpustakaan mengejek seperti Sinon.

Berikut ialah panduan terperinci tentang menulis unit test s TypeScript dengan alat dan perpustakaan ini:

 

Jest

Jest ialah rangka kerja yang digunakan secara meluas untuk menulis unit test s dalam TypeScript dan JavaScript. Ia menyediakan sintaks mudah dan ciri berkuasa seperti mengejek, ujian syot kilat dan laporan liputan.

Untuk mula menulis unit test s dengan Jest, anda perlu memasang Jest melalui npm atau yarn dengan menjalankan arahan berikut:

npm install jest --save-dev

Kemudian, anda boleh membuat fail ujian dengan sambungan .spec.ts atau .test.ts dan tulis kes ujian.

Sebagai contoh:

// 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 ialah rangka kerja pelari ujian yang fleksibel untuk TypeScript dan JavaScript. Ia menyokong sintaks yang jelas dan pelbagai jenis ujian seperti unit test s, ujian integrasi dan ujian berfungsi.

Untuk digunakan Mocha dalam TypeScript, anda perlu memasang Mocha dan Chai melalui npm atau yarn dengan menjalankan arahan berikut:

npm install mocha chai --save-dev

Kemudian, anda boleh membuat fail ujian dan menulis kes ujian.

Sebagai contoh:

// 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 ialah perpustakaan penegasan yang popular digunakan untuk menulis penegasan dalam unit test s. Ia menyediakan sintaks yang jelas dan fleksibel, membolehkan anda menegaskan hasil kod sumber anda. Anda boleh menggunakan Chai sama ada Jest atau Mocha untuk menulis penegasan dalam kes ujian anda.

Sebagai contoh:

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 ialah perpustakaan mengejek dan mengintip yang popular digunakan untuk mengejek dan menjejaki tingkah laku dalam kes ujian. Anda boleh menggunakan Sinon sama ada Jest atau Mocha untuk mengejek dan menjejaki aktiviti dalam objek dan fungsi.

Sebagai contoh:

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();  
});  

 

Menggabungkan Jest atau Mocha dengan Chai dan Sinon membolehkan anda membina unit test s yang berkuasa dan fleksibel dalam TypeScript. Dengan menggunakan kaedah dan fungsi Jest, Mocha, Chai, dan Sinon, anda boleh memastikan ketepatan dan kebolehpercayaan kod sumber anda semasa proses pembangunan perisian.