Γράψιμο δοκιμών μονάδας σε TypeScript: Χρήση Jest, Mocha και Συνδυασμός με Chai και Sinon

Unit test είναι ένα σημαντικό μέρος της ανάπτυξης λογισμικού για τη διασφάλιση της ακρίβειας και της αξιοπιστίας του πηγαίου κώδικα. Με το TypeScript, μπορείτε να γράφετε unit test εύκολα και ευέλικτα, χρησιμοποιώντας δημοφιλή πλαίσια όπως 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 ευέλικτα TypeScript. Χρησιμοποιώντας τις μεθόδους και τις λειτουργίες των Jest, Mocha, Chai και Sinon, μπορείτε να διασφαλίσετε την ακρίβεια και την αξιοπιστία του πηγαίου κώδικα κατά τη διαδικασία ανάπτυξης λογισμικού.