Tuto : Tests unitaire avec jest - mathalea/mathalea GitHub Wiki

Tuto en cours d'écriture. N'hésitez pas à appoter des précisions ou à corriger des erreurs si cela vous semble nécessaire.

Tests unitaires avec jest

  1. Installer jest : npm install --save-dev jest
  2. Vérifier l'installation : pnpm jest (voir la difféence avec npx jest )

vérificationInstallationJest

  1. Créer un fichier demo.test.js
test('Test pour la somme', ()=>{
    const a = 2 + 1
    expect(a).toBe(4)
})
  1. Lancer jest : pnpm jest

testRaté

  1. Changer demo.test.js
test('Test pour la somme', ()=>{
    const a = 2 + 2
    expect(a).toBe(4)
})
  1. Relancer jest : pnpm jest

testRéussi

  1. Maintenant, testons un module
    • Créer un fichier monModuleAtester.js
// Les fonctions étant purement fictives, toute ressemblance avec des situations existantes 
// ou ayant existé ne saurait être que fortuite.
const texNombre = (a, b)=>{
    return a + b
}
// Ici le système de modules est celui de node.
// Ce n'est pas celui de ES6 avec la syntaxe import/export
module.exports = texNombre
  • Changer demo.test.js
test('Test pour texNombre(0.1,0.2)', ()=>{
        const a = texNombre(0.1, 0.2)
        expect(a).toBe(0.3)
    })
  1. On peut grouper plusieurs test dans `` grâce à la fonction describe
describe('Ma suite de tests', ()=>{
   
    test('Test pour la somme de 2 + 2', ()=>{
        const a = 2 + 2
        expect(a).toBe(4)
    })
    test('Test pour texNombre(0.1 + 0.2)', ()=>{
        const a = texNombre(0.1, 0.2)
        expect(a).toBe(0.3)
    })
})
  1. Dans ces conditions, pnpm jest donne :

suiteDeTests

)