Adloun

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

Exercice suivant et tuteur

Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →