Appearance
TP : Tests unitaires avancés en JavaScript
Objectif :
Développer plusieurs fonctions JavaScript et écrire des tests unitaires avec Jest pour valider leur bon fonctionnement.
📋 Exercice 1 : Calculer la moyenne d’un tableau
Objectif :
Créer une fonction calculerMoyenne qui retourne la moyenne des nombres dans un tableau.
Cas à tester :
- ✅ Tableau avec plusieurs nombres positifs (ex.
[10, 20, 30]→ 20). - ✅ Tableau avec des nombres négatifs (ex.
[-10, -20, -30]→ -20). - ✅ Tableau mixte avec positifs et négatifs (ex.
[10, -10, 20, -20]→ 0). - ✅ Tableau avec un seul élément (la moyenne est l’élément lui-même).
- ✅ Tableau vide (résultat attendu :
null).
Fonction à créer :
jsx
function calculerMoyenne(tableau) {
// Implémentation ici
}📋 Exercice 2 : Trouver les mots les plus longs d’une phrase
Objectif :
Créer une fonction motLePlusLong qui prend une chaîne de caractères (phrase) et retourne un tableau des mots les plus longs.
Cas à tester :
✅ Phrase avec des mots de différentes longueurs :
"Bonjour à tous les développeurs"→["développeurs"].✅ Phrase avec plusieurs mots de même longueur maximale :
"Je code et je danse"→["code", "danse"].✅ Phrase avec un seul mot :
"AvadaKedavra"→["AvadaKedavra"].✅ Phrase vide (résultat attendu :
[]).
Fonction à créer :
jsx
function motsLesPlusLongs(phrase) {
// Implémentation ici
}📋 Exercice 3 : Vérifier si un tableau est trié
Objectif :
Créer une fonction estTrie qui vérifie si un tableau est trié en ordre croissant.
Cas à tester :
- ✅ Tableau trié (
[1, 2, 3, 4]→true). - ✅ Tableau non trié (
[4, 2, 3, 1]→false). - ✅ Tableau avec des éléments égaux (
[1, 1, 2, 2, 3, 3]→true). - ✅ Tableau avec un seul élément (
[5]→true). - ✅ Tableau vide (résultat attendu :
true).
Fonction à créer :
jsx
function estTrie(tableau) {
// Implémentation ici
}📋 Exercice 4 : Trouver le second plus grand nombre
Objectif :
Créer une fonction secondPlusGrand qui retourne le second plus grand nombre d’un tableau.
Cas à tester :
- ✅ Tableau avec plusieurs nombres différents (
[1, 3, 5, 7]→5). - ✅ Tableau avec des nombres égaux (
[1, 1, 1, 1]→null). - ✅ Tableau avec un seul élément (résultat attendu :
null). - ✅ Tableau vide (résultat attendu :
null).
Fonction à créer :
jsx
function secondPlusGrand(tableau) {
// Implémentation ici
}