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

À terme, automatisez les tests à chaque commit pour détecter rapidement les régressions.

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