Spring Boot : écrire le serveur (école d'ingénieur) · Chapitre 7 · Exercice de TD
Le test d'abord
Tester l'application · niveau 2
Énoncé
On veut une méthode Commande.nombreDExemplaires(), qui additionne les quantités des lignes. Écrire d'abord le test (une commande vide, puis une commande de deux lignes), constater qu'il ne compile pas, puis écrire la méthode.
Corrigé
Le test, écrit en premier :
// Exercice 7.10 : le test, écrit AVANT la méthode
@Test
void nombreDExemplaires() {
Commande c = new Commande("Ada", "ada@example.org", Retrait.BOUTIQUE);
assertThat(c.nombreDExemplaires()).isZero();
c.ajouterLigne(new LigneCommande(livre("1", "8.50"), 2));
c.ajouterLigne(new LigneCommande(livre("2", "7.90"), 3));
assertThat(c.nombreDExemplaires()).isEqualTo(5);
}
Tant que la méthode n'existe pas, il ne compile pas : c'est le premier « rouge ». On écrit alors le code le plus simple qui le fasse passer :
/** Exercice 7.10, écrit APRÈS son test : le nombre total d'exemplaires commandés. */
public int nombreDExemplaires() {
return lignes.stream().mapToInt(LigneCommande::getQuantite).sum();
}
Écrire le test d'abord oblige à décider de ce que la méthode doit faire, cas limite compris (la commande vide), avant de l'écrire.
100 % gratuit
La suite du chapitre est sur Adloun
- 9 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.