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