JNEWS test TP7 Q1

Programmation Avancée

Modérateur : Douin

Rodrigues_A
Messages : 52
Inscription : 25 sept. 2018 21:57

JNEWS test TP7 Q1

Message par Rodrigues_A » 10 déc. 2018 22:40

Bonjour,
Je viens de soumettre ma réponse à la question 1, j'ai eu plusieurs erreurs lors de plusieurs soumissions.
J'ai revérifié et simplifié mon code pour limiter les risques d'erreurs et fais des test supplémentaires.
Lors de ma dernière soumissions, j'ai récupéré le code des 3 méthodes de tests et je les ai implémentés dans une nouvelle classe tests en local, et là les tests passent.

les 3 erreurs que j'ai eu sont:
here were 3 failures: 1) test_invoquer_en_erreur_les_methodes_a_2_parametres(question1): une exception est attendue lors de l''appel de abs(double) ??? 2) test_invoquer_en_erreur_les_methodes_a_1_parametre(question1): une exception est attendue ici, lors de l''appel de IEEEremainder(double, double) ??? 3) test_appelDeMethodeInconnue(question1): invoquer("inconnu(double)",0.0) ???, NoSuchElementException est attendue ???
Ai-je fais une erreurs lors de l'implémentation des tests en local? Peut-il y avoir des différences entre JNews et des tests locaux?

Merci pour vos retours et bonne soirée,
Anthony

Rodrigues_A
Messages : 52
Inscription : 25 sept. 2018 21:57

Re: JNEWS test TP7 Q1

Message par Rodrigues_A » 10 déc. 2018 22:46

Un complément d'info, j'ai ajouté des println pour voir ce qui ce passe dans les test et le fonctionnent correspond à ce qui est attendu.
Bonne soirée,

Anthony

Amokrane
Messages : 18
Inscription : 08 oct. 2018 22:19

Re: JNEWS test TP7 Q1

Message par Amokrane » 10 déc. 2018 23:12

Je pense que les erreurs viennent de la gestion des exceptions. il faut lever une exception NoSuchElementException() si un appel interne à l'une des méthodes de la classe "TableMethodesJavaLangMath" échoue.

Rodrigues_A
Messages : 52
Inscription : 25 sept. 2018 21:57

Re: JNEWS test TP7 Q1

Message par Rodrigues_A » 10 déc. 2018 23:24

Bonsoir Amokrane,

Merci pour ta réponse, ce fut ma première vérification et je pense que mes levées d'exceptions se produisent bien (plusieurs tests), je vais encore relire mon code.
Ma question portait plus sur le fait que les tests composés des codes sources récupérés sur JNEWS passent parfaitement en local mais pas sur JNEWS.

Je continue de creuser et merci pour ton aide ;-).

Anthony

Rodrigues_A
Messages : 52
Inscription : 25 sept. 2018 21:57

Re: JNEWS test TP7 Q1

Message par Rodrigues_A » 11 déc. 2018 8:40

Bonjour,

Une réflexion que je me suis fais cette nuit: est-ce que le fait de faire les tests sur JNews avec les fenêtre d'éditions de code peut engendrer des problèmes lors des tests?

Ce n'est peut-être pas un problème de JNews, mais vu qu'il ne me reste que 2 soumissions, je préfère être sûr surtout que les test passent en local.
Je commence toujours par remettre mon travail en cause avant de chercher des "raisons extérieurs" surtout que beaucoup d'auditeurs ont passé ces tests, mais là je ne comprends pas la différence de résultats aux tests.

Désolé pour ce post supplémentaire, mais si cela peut servir à d'autres auditeurs.

Bonne journée à tous,

Anthony

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

Re: JNEWS test TP7 Q1

Message par Douin » 11 déc. 2018 10:33

Bonjour

à votre question :
Peut-il y avoir des différences entre JNews et des tests locaux?
oui ce n'est peut être pas la même version du jdk, le nombre de méthodes peut être différent mais votre code devrait s'en affranchir

Bonne fin de tp

Rodrigues_A
Messages : 52
Inscription : 25 sept. 2018 21:57

Re: JNEWS test TP7 Q1

Message par Rodrigues_A » 11 déc. 2018 19:23

Bonsoir,

Merci pour votre réponse, j'ai re-soumis mon code à JNEWS et j'ai maintenant 2 erreurs contre 3 précédemment, les seules modifications apportées sont des ajouts d'incollades dans mes conditions if.
J'ai à nouveau importé les tests en local et ils passent parfaitement.
Il me reste une soumission, je pense que je vais rendre mon TP tel que car j'ai beau le relire, je ne vois pas où peut-être mon erreur.

Bonne soirée,

Anthony

Amokrane
Messages : 18
Inscription : 08 oct. 2018 22:19

Re: JNEWS test TP7 Q1

Message par Amokrane » 11 déc. 2018 23:25

Bonsoir Anthony,

est ce que tu utilises des blocks (try catch) dans les méthodes invoquer?

et comment t'as fait pour récupérer le code des tests en ligne pour tester en local?

Rodrigues_A
Messages : 52
Inscription : 25 sept. 2018 21:57

Re: JNEWS test TP7 Q1

Message par Rodrigues_A » 11 déc. 2018 23:45

Bonsoir,
Après soumission sur JNews, dans la page de résultats, il y à un lien qui permet de voir la sources des assertions pour lesquelles les tests échouent.
Je clique sur chaque lien et je recopie le code dans une classe test sur BlueJ.
cela donne par exemple:
public void test_invoquer_en_erreur_les_methodes_a_2_parametres() throws Exception{
try{
question1.TableMethodesJavaLangMath table = question1.TableMethodesJavaLangMath.getInstance();
assertNotNull(table);
String[] liste = table.listeDesMethodes();
assertNotNull(liste);
for(String s : liste){
try{
if(table.cetteMethodeAttendDeuxParametres(s)){
System.out.println(s);
table.invoquer(s,1.0,1.0);
}
}catch(Exception e){
fail("exception lors de l'appel de " + s + " ???");
}
}
}catch(Exception e){
fail(" exception inattendue!!!" + e.toString());
}
}
J'ai ajouter le println pour mieux voir ce qu'il ce passe, j'ai fait cela pour les 3 erreurs que j'avais.

Voilà pour les explications,

Bonne soirée,
Anthony

Rodrigues_A
Messages : 52
Inscription : 25 sept. 2018 21:57

Re: JNEWS test TP7 Q1

Message par Rodrigues_A » 11 déc. 2018 23:47

oups, oui j'utilise des try-catch dans mes méthodes invoquer

Amokrane
Messages : 18
Inscription : 08 oct. 2018 22:19

Re: JNEWS test TP7 Q1

Message par Amokrane » 12 déc. 2018 0:27

vérifies si que tes méthodes invoquer correspondent à ce pseudo code:

essayer :
si la méthode attend "n" paramètres alors invoquer et retourner le résultat
sinon lever une exception
attraper l'exception : lever une exception

j'espère que ça t'aidera

bonne soirée

Rodrigues_A
Messages : 52
Inscription : 25 sept. 2018 21:57

Re: JNEWS test TP7 Q1

Message par Rodrigues_A » 12 déc. 2018 9:09

Merci pour ton aide :-)

mon algo colle bien avec le tien, je fait bien:
try
if condition
alors invocation et résultat
catch levée d'exception

pour info les tests que j'ai récupéré sur JNews passent chez moi d'où mon incompréhension. je suis passé à la question 2.

Bonne journée,
Anthony

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

Re: JNEWS test TP7 Q1

Message par RENAUD » 13 déc. 2018 0:42

Je profite du sujet pour un retour étrange de jnews à la question 3.
J'ai 7 erreurs mais je ne peux pas afficher comme ça trop long et quasi impossible à lire ou déchiffrer.
Je met un lien vers mon google drive :
(en espérant que ça passe je l'ai rarement fait dans un forum et j'espère que vous n'aurez pas accès à mes autres fichiers :s )
https://docs.google.com/document/d/1XfZ ... sp=sharing
Je précise quand même que le test junit est correct et pas de system.out.xxx

Amokrane
Messages : 18
Inscription : 08 oct. 2018 22:19

Re: JNEWS test TP7 Q1

Message par Amokrane » 13 déc. 2018 1:34

RENAUD a écrit :
13 déc. 2018 0:42
Je profite du sujet pour un retour étrange de jnews à la question 3.
J'ai 7 erreurs mais je ne peux pas afficher comme ça trop long et quasi impossible à lire ou déchiffrer.
Je met un lien vers mon google drive :
(en espérant que ça passe je l'ai rarement fait dans un forum et j'espère que vous n'aurez pas accès à mes autres fichiers :s )
https://docs.google.com/document/d/1XfZ ... sp=sharing
Je précise quand même que le test junit est correct et pas de system.out.xxx
t'as essayé de vérifier en utilisant la méthode main de la classe Introspection? ça t'aidera beaucoup mieux à localiser l'erreur.

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

Re: JNEWS test TP7 Q1

Message par RENAUD » 13 déc. 2018 2:52

comment ça ?
Si tu parles de tester dans la méthode 'main' j'ai mis les mêmes classes que j'avais mis dans le test à compléter test1. Oui !
D'ailleurs je teste trop souvent encore avec main et dans la console je n''ai pas encore une maitrise de junit et donc pas une habitude immédiate à faire des tests.

Sinon j'avais eu plus d'erreurs avant mais je pensais avoir réglé le problème.
Et d'ailleurs c'est la même, différente et seule erreur quelque soit la classe testée j'en ai six différentes + on dirait une erreur d'intro 'classe au hasard':

1)test_java_util_une_classe_au_hasard(question3): le contenu obtenu par getHeritees()
2)test_java_util_HashSet(question3): le contenu obtenu par getHeritees(), est-il errone ???
3) ...
7)

J'essaye de comprendre mais si j'affiche dans le main les methodes locales ou redéfinies j'ai bien la "différence" correcte avec les méthodes hérités non redéfinies. Donc cette histoire de "contenu obtenu erroné" je ne comprend pas.

Répondre