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