JavaScript:
Rédaction de tests

Comment faire :

Approche native (en utilisant Jest)

Jest est un cadre de test populaire qui fournit une API conviviale pour écrire des tests unitaires en JavaScript. Il nécessite une configuration minimale et vient avec des fonctionnalités comme les fonctions de simulation, les minuteries et les tests instantanés.

  1. Installation :
npm install --save-dev jest
  1. Écrire un test simple :

Créez un fichier nommé sum.test.js :

const sum = require('./sum'); // Supposez que cette fonction ajoute simplement deux nombres

test('ajoute 1 + 2 pour égaler 3', () => {
  expect(sum(1, 2)).toBe(3);
});
  1. Exécuter votre test :
npx jest

Résultat d’exemple :

PASS  ./sum.test.js
✓ ajoute 1 + 2 pour égaler 3 (5ms)

Tester le code asynchrone

Jest facilite le test des promesses et de la syntaxe async/await :

// asyncSum.js
async function asyncSum(a, b) {
  return Promise.resolve(a + b);
}

// asyncSum.test.js
test('l’addition asynchrone fonctionne', async () => {
  await expect(asyncSum(1, 2)).resolves.toBe(3);
});

Utilisation de bibliothèques tierces (Mocha & Chai)

Mocha est un autre cadre de test populaire, souvent utilisé avec la bibliothèque d’assertion Chai pour des tests plus expressifs.

  1. Installation :
npm install --save-dev mocha chai
  1. Écrire un test avec Mocha et Chai :

Créez calculate.test.js :

const chai = require('chai');
const expect = chai.expect;

const calculate = require('./calculate'); // Un module de calcul simple

describe('Calculate', function() {
  it('devrait additionner deux valeurs', function() {
    expect(calculate.sum(5, 2)).to.equal(7);
  });
});
  1. Exécuter vos tests avec Mocha :

Ajoutez un script dans votre package.json :

"scripts": {
  "test": "mocha"
}

Puis exécutez :

npm test

Résultat d’exemple :

  Calculate
    ✓ devrait additionner deux valeurs


  1 passing (8ms)

Ces exemples illustrent l’écriture et l’exécution de tests de base en JavaScript. Adopter un cadre de test comme Jest ou Mocha avec Chai peut fournir une base solide pour des tests d’application robustes, aidant à garantir que votre code fonctionne comme prévu à travers les mises à jour et les remaniements.