Aller au contenu principal

Fast Intro test logiciel

  • Tests Unitaires : Testez chaque pièce individuellement (comme vérifier chaque pièce d'un puzzle).
  • Tests d'Intégration : Assurez-vous que les pièces fonctionnent bien ensemble.
  • Tests E2E (End-to-End) : Testez le produit final pour voir s'il répond aux attentes (comme regarder le puzzle complet).

Test Unitaires

Outils : Jest

Installation :

npm install --save-dev jest

Exemple avec Jest

Supposons que vous ayez une fonction simple add dans add.js

function add(a, b) {
return a + b;
}
module.exports = add;

Créez un fichier de test add.test.js

const add = require('./add');

test('adds 1 + 2 to equal 3', () => {
expect(add(1, 2)).toBe(3);
});

Exécuter les Tests

Ajoutez un script dans votre package.json

"scripts": {
"test": "jest"
}

Puis exécutez avec :

npm test

A terme, automatiser les tests a chaque commit par exemple afin de s'assurer que le code ne casse pas les tests.

Test d'Intégration (teste les interactions entre les différentes parties de l'application)

Test E2E (simule une expérience utilisateur réelle complete)

Outils : Cypress

Installation :

npm install cypress --save-dev

Exemple avec Cypress

Créez un fichier de test add.test.js

describe('Login Test', () => {
it('Logs in successfully', () => {

cy.visit('http://localhost:3000/login');

cy.get('input[name="username"]').type('user_test');
cy.get('input[name="password"]').type('password123');

cy.get('button[type="submit"]').click();

cy.url().should('include', '/home');
cy.contains('Bienvenue, user_test');
});
});

Ce que nous testons ici :

  • Ouvre la page de connexion.
  • Remplit les champs du formulaire avec des identifiants de test.
  • Soumet le formulaire.
  • Vérifie si l'URL a changé vers la page d'accueil et si un message de bienvenue est affiché.

Exécuter les Tests

npx cypress open