TP_commit Q3 TestsTransaction testDebitEnErreur

Programmation Avancée

Modérateur : douinj

valen_f3
Messages : 7
Inscription : 30 sept. 2020 10:46

TP_commit Q3 TestsTransaction testDebitEnErreur

Message par valen_f3 » 15 nov. 2020 15:56

Bonjour,

Je me demande si le premier test dans la classe TestsTransaction disponible dans la question 3 est valide :
En effet, ce premier test n'utilise pas les transactions, donc je ne comprend pas pourquoi le solde serai restitué à 600... (ancienSolde == g.solde())
C'est justement l'intérêt de la transaction via Mémento.
Merci de votre aide.

Code : Tout sélectionner

    public void testDebitEnErreur(){
        GroupeDeContributeurs g = new GroupeDeContributeurs("g");
        g.ajouter(new Contributeur("g_a",300));
        g.ajouter(new Contributeur("g_b",200));
        g.ajouter(new Contributeur("g_c",100));

        int ancienSolde = g.solde();
        System.out.println(" solde: " + g.solde());

        try{
            g.debit(120);
            fail("une exception est attendue, voir rollbackTransaction");
        }catch(Exception e){
            assertTrue( e instanceof SoldeDebiteurException);
        }

        System.out.println(" solde: " + g.solde());
        assertEquals(" ce solde n'est pas transactionnel, c'est bien une erreur !!! ", ancienSolde, g.solde());

    }
    

douinj
Messages : 204
Inscription : 18 mars 2009 15:46

Re: TP_commit Q3 TestsTransaction testDebitEnErreur

Message par douinj » 15 nov. 2020 17:51

Bonjour, alors c'est bien une erreur 😊 d'où l'échec

A suivre

valen_f3
Messages : 7
Inscription : 30 sept. 2020 10:46

Re: TP_commit Q3 TestsTransaction testDebitEnErreur

Message par valen_f3 » 15 nov. 2020 19:10

Bonjour,

Si j'ai donc bien compris, pour que le test 'passe', il faut modifier le assertEquals par assertNotEquals ?

Code : Tout sélectionner

assertNotEquals(" ce solde n'est pas transactionnel, c'est bien une erreur !!! ", ancienSolde, g.solde());
Merci.

douinj
Messages : 204
Inscription : 18 mars 2009 15:46

Re: TP_commit Q3 TestsTransaction testDebitEnErreur

Message par douinj » 15 nov. 2020 19:22

Oui c'est un échec à but pédagogique ;-)

Répondre