de nouveaux doutes sur Jnews

Programmation Avancée

Modérateur : Douin

RENAUD
Messages : 50
Inscription : 21 sept. 2018 19:34

de nouveaux doutes sur Jnews

Message par RENAUD » 18 oct. 2018 18:03

Bonsoir

J'ai voulu soumettre la question 2 TP3 suite à des modifs lié au premier retour :
junit3 tp3q2 2018-10-16
17:41:18 There was 1 failure:
1) test_equals_contenu_different(question2): une pile d'entiers(1,2,3) == une pile de String("1","2","3") ???
j'ai donc rajouter cette methode de test et fait quelques assertequals et assertsame (les deux n'ayant pas le même comportement avec les types).

ça fonctionne le test passent certes ils ne sont pas compliqués, je supprime même des assertsame à cause de typage strict, mais je n'ai rien changé aux autres méthodes qui passaient avant Jnews. Et... je re soumet et j'obtiens :
junit3 tp3q2 2018-10-18
01:21:09 There were 5 failures:
1) test_Pile_sommet(question2): sommet ?? expected:<3> but was:<null>
2) test_equals_contenu_different(question2): une pile d'entiers(1,2,3) == une pile de String("1","2","3") ???
3) test_meme_comportement(question2): p1.sommet() != p2.sommet() ??? expected:<null> but was:<aze>
4) test_Sommaire(question2): expected:<null> but was:<a>
5) test_meme_comportement(question2): p1.sommet() != p2.sommet() ??? expected:<null> but was:<aze>
donc deux fois la même erreur apparemment 3) et 5) en plus bon ma méthode ne passe pas le test jnews !

Mais je ne comprend pas ces 4 nouvelles erreurs sans aucun changement autre que d'avoir suivit jnews et implanter seulement test_equals_contenu_different
Je sais que c'est tout le temps sur les tests et que c'est ma faiblesse mais justement je vois encore moins ce qui ne va pas ou ce qui va.
Comme en plus on ne peut pas soumettre indéfiniment (max 6 fois je crois) et que le test jnews semble être aussi le test automatique des erreurs du tp,
je n'arrive vraiment plus à interpréter jnews sur ce que je peux corriger, rajouter, enlever ???

a.tortevois
Messages : 47
Inscription : 05 oct. 2018 16:00
Contact :

Re: de nouveaux doutes sur Jnews

Message par a.tortevois » 18 oct. 2018 21:25

Salut,
Est ce que tu as re-testé suite à tes modifs avec tes classe de test unitaire avant de soumettre sur JNEWS ?

Douin
Messages : 341
Inscription : 18 mars 2009 15:46

Re: de nouveaux doutes sur Jnews

Message par Douin » 18 oct. 2018 21:28

Bonjour,

Attention à ne pas prendre jnews pour un débogueur,
à priori vous n'avez pas le même comportement de la méthode sommet ... p1.sommet() != p2.sommet()

Verifiez avant de soumettre, n'interprétez pas ce que retourne jnews, travaillez sur vos classes en ajoutant de nouveaux tests, de nouveaux cas, etc...

Bon travail

Ne doutez pas de jnews sur ces TPs éprouvés... plusieurs générations de testeurs sont passés par le tp4...

RENAUD
Messages : 50
Inscription : 21 sept. 2018 19:34

Re: de nouveaux doutes sur Jnews

Message par RENAUD » 19 oct. 2018 12:08

Je me suis mal exprimé.
Loin de moi l'idée de douter de Jnews, c'est de mes doutes sur les retours de jnews, je ne vois pas ce qu'il m'indique : fallait il ce nom de méthodes ou du moins le même objectif de test par ex.
Et je ne l'utilise pas comme débogeur sinon j'aurais dépassé depuis longtemps les 6 tentatives ;) (je viens de comprendre pourquoi c'est limité ! ).

Sinon entre les deux soumission j'avais oublié que j'avais touché au code des piles pour ce test justement, je voulais pouvoir dépasser la capacité. Je testais que ce test.
Après avoir réglé le problème et codé ce test qui fonctionne de mon coté, j'ai de nouveau fait une soumission plus confiant. Mais encore erreur...juste sur ce test.
Jnews m'a finalement proposé de voir le source.
mon code va dans le même sens mais je conclus l'inverse que pile d'entier est différent de pile de string. Car je test le type de la valeur du retour de depile pas sur la pile entièrement. Et j'ai pu voir que assertsame était plus strict pour les types que assertequals donc j'ai utilisé les deux pour voir.

Par contre le code proposé de jnews a deux erreurs non ?
-
assertEquals(" equals Pile ???", p1.hashCode(), p1.hashCode());
pourquoi tester le même hashcode ? Ça devrait être p2.hashcode, non ?
-
assertFalse(" une pile d'entiers(1,2,3) == une pile de String(\"1\",\"2\",\"3\") ???",p1.equals(p2));
là j'ai pensé la premiere fois que ça correspondait à ma conclusion mais non ça lève une erreur d'exécution AssertionFailedError. C'est assertTrue non ? Et donc p1 a strictement le même contenu que p2.

Donc là j'avoue je ne sais plus quoi penser de cette question. Je suis d'accord avec jnews et aussi avec mon test !

Bref j'ai pris finalement ce "problème" comme un exercice perso sur les tests et sur les message de jnews.

Douin
Messages : 341
Inscription : 18 mars 2009 15:46

Re: de nouveaux doutes sur Jnews

Message par Douin » 22 oct. 2018 15:54

Bonjour,

Code : Tout sélectionner

assertEquals(" equals Pile ???", p1.hashCode(), p1.hashCode()); 
Je corrige, c'est un copier/coller, merci de me l'avoir signalé

Code : Tout sélectionner

assertFalse(" une pile d'entiers(1,2,3) == une pile de String(\"1\",\"2\",\"3\") ???",p1.equals(p2));
C'est bien assertFalse, revoyez votre méthode equals

Bonne fin de tp

Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité