CoupAvancerTest.java

Voir le sujet précédent Voir le sujet suivant Aller en bas

CoupAvancerTest.java

Message  Invité le Dim 27 Avr 2008, 13:16

Voilà, ici je traite les cas ou mon coupavancer doit lancer un illegal coup exception, la signature de ma mehode est la suivante:

@Test (expected=IllegalCoupException.class) public void testEffectuerException(){
Passage passage = new Passage(new int[]{0,1,2,3,4,5}, new int[]{1,1,1,1,1,1});


et ça m'affiche le message suivant:

CoupAvancerTest.java:241: unreported exception g31263.p.IllegalCoupException; must be caught or declared to be thrown
cAvancer1.effectuer(lejeu);
^
CoupAvancerTest.java:245: unreported exception g31263.p.IllegalCoupException; must be caught or declared to be thrown
cAvancer2.effectuer(lejeu);
^
CoupAvancerTest.java:250: unreported exception g31263.p.IllegalCoupException; must be caught or declared to be thrown
cAvancer3.effectuer(lejeu);
^
3 errors


Or ds ma classe CoupAvancer.java je dit bien que ma methode doit lancer un IllegalCoupException

public vc void effectuer(Jeu jeu) throws IllegalCoupException{

Merci.

Invité
Invité


Revenir en haut Aller en bas

Re: CoupAvancerTest.java

Message  Bardack le Dim 27 Avr 2008, 13:23

Oui mais ... Catches-tu cette exception ?...

Bardack

Nombre de messages : 2107
Age : 32
Prénom : Florent
Statut : Ancien(ne terreur)
Localisation : Frasnes-lez-Buissenal
Date d'inscription : 18/12/2006

http://www.bardack.be

Revenir en haut Aller en bas

Re: CoupAvancerTest.java

Message  Invité le Dim 27 Avr 2008, 13:25

Mais pq je dois catcé cette exception,
elle doit ê lancé en fonction de mauvaises donné assé en paramètre de mes methodes, elle doit lancé l'exception et c normal, c le contraire qui n'est pas bon, elle doit lancé, elors c bon .

Invité
Invité


Revenir en haut Aller en bas

Re: CoupAvancerTest.java

Message  Bardack le Dim 27 Avr 2008, 13:46

Oh bah si c'est bon, tout va ... cyclops

Bardack

Nombre de messages : 2107
Age : 32
Prénom : Florent
Statut : Ancien(ne terreur)
Localisation : Frasnes-lez-Buissenal
Date d'inscription : 18/12/2006

http://www.bardack.be

Revenir en haut Aller en bas

Re: CoupAvancerTest.java

Message  Wark le Dim 27 Avr 2008, 13:54

Effectivement, j'ai eu la même erreur..

Je ne sais pourquoi, mais dans la classe passage, la même signature de méthode ne donne aucun problème.. alors que dans ce cas-ci, pour que cela passe à la compilation et au test, il faut ajouter "throws IllegalCoupException". :/

Wark

Nombre de messages : 682
Age : 29
Prénom : Cédric
Statut : Diplômé 2010
Localisation : Braine l'alleud
Date d'inscription : 04/02/2008

Revenir en haut Aller en bas

Re: CoupAvancerTest.java

Message  El_Turco le Dim 27 Avr 2008, 14:20

Newu_ a écrit:...


Or ds ma classe CoupAvancer.java je dit bien que ma methode doit lancer un IllegalCoupException

public vc void effectuer(Jeu jeu) throws IllegalCoupException{
...

Est-ce que dans ta méthode effectuer, as-tu une méthode ou une instruction qui lance ce type d'exception?

Du genre :

Code:
public vc void effectuer(Jeu jeu) throws IllegalCoupException{

.....
maMéthodequilanceuneExceptiondetypeIllegalCoupException(...);
.....
}

ou bien :
Code:

try
{
    ....
    maMéthodequilanceuneExceptiondetypeIllegalCoupException(...);
    ....
}
catch(IllegalCoupException ice)
{
    throw new IllegalCoupException("tutu brol");

}

El_Turco

Nombre de messages : 896
Age : 30
Prénom : Adem
Statut : Ancien Industriel
Localisation : Bruxelles, Schaerbeek
Date d'inscription : 16/01/2007

Revenir en haut Aller en bas

Re: CoupAvancerTest.java

Message  Gustavo le Dim 27 Avr 2008, 14:49

Le message dit bien ce qu'il dit.

Ta méthode de CoupAvancer lance bien une exception seulement quand tu l'appelles dans ton test tu n'en fait rien, tu dois donc bien soit l'attraper (catch) soit la laisser passer (throws). En tout cas tu doit le faire explicitement avec les exceptions qui ne sont pas celles du jre. (pas besoin de s'occuper d'un nullPointerException ou d'un IllegalStateException par exemple).

++


Dernière édition par Gustavo le Dim 27 Avr 2008, 16:12, édité 1 fois

Gustavo

Nombre de messages : 260
Age : 29
Prénom : Renaud
Statut : étudiant 4SEC
Date d'inscription : 10/01/2008

Revenir en haut Aller en bas

Re: CoupAvancerTest.java

Message  Wark le Dim 27 Avr 2008, 15:23

Gustavo a écrit:Le message dit bien ce qu'il dit.

Ta méthode de CoupAvancer lancer bien une exception seulement quand tu l'appelle dans ton test tu n'en fait rien, tu donc donc bien soit l'attraper (catch) soit la laisser passer (throws). En tout cas tu doit le faire explicitement avec les exceptions qui ne sont pas celles du jre. (pas besoin de s'occuper d'un nullPointerException ou d'un IllegalStateException par exemple).

++

Tu viens de me donner la réponse à une question qui m'était restée en suspend. Merci Smile

Wark

Nombre de messages : 682
Age : 29
Prénom : Cédric
Statut : Diplômé 2010
Localisation : Braine l'alleud
Date d'inscription : 04/02/2008

Revenir en haut Aller en bas

Re: CoupAvancerTest.java

Message  Invité le Dim 27 Avr 2008, 19:46

excusez moi, mais j'ai pas très bien suivi, qn pourrait m'éclairer
Si j'ai bien suivi, les methodes lancent bien les exceptions ac les mes mauvaises donnée qu'on leur passe expressement en paramètre,
Je vois pas pq la methode qui teste que l'exception a bien été lancé doit la catché, no les gars j vois pas.
Alors svp éclairéz-moi sur ce sujet un peu
Merci

Invité
Invité


Revenir en haut Aller en bas

Re: CoupAvancerTest.java

Message  mcd le Dim 27 Avr 2008, 19:47

Attention !
Dans ce cas-ci, il s'agit d'une méthode de test.
Il faut donc absolument laisser passer l'exception.
Si on l'attrape, le système de test va penser qu'elle n'a jamais eu lieu Smile

mcd

Nombre de messages : 1548
Prénom : Marco
Statut : prof
Localisation : Molenbeek
Date d'inscription : 29/09/2006

http://mcd.namok.be

Revenir en haut Aller en bas

Re: CoupAvancerTest.java

Message  Invité le Dim 27 Avr 2008, 19:54

Newu_ a écrit:Voilà, ici je traite les cas ou mon coupavancer doit lancer un illegal coup exception, la signature de ma mehode est la suivante:

@Test (expected=IllegalCoupException.class) public void testEffectuerException(){
Passage passage = new Passage(new int[]{0,1,2,3,4,5}, new int[]{1,1,1,1,1,1});


et ça m'affiche le message suivant:

CoupAvancerTest.java:241: unreported exception g31263.p.IllegalCoupException; must be caught or declared to be thrown
cAvancer1.effectuer(lejeu);
^
CoupAvancerTest.java:245: unreported exception g31263.p.IllegalCoupException; must be caught or declared to be thrown
cAvancer2.effectuer(lejeu);
^
CoupAvancerTest.java:250: unreported exception g31263.p.IllegalCoupException; must be caught or declared to be thrown
cAvancer3.effectuer(lejeu);
^
3 errors


Or ds ma classe CoupAvancer.java je dit bien que ma methode doit lancer un IllegalCoupException

public vc void effectuer(Jeu jeu) throws IllegalCoupException{

Merci.




Voilà mMs, mon message, elle doit lncer l'exception mais la machine m'affiche thr le même message

Invité
Invité


Revenir en haut Aller en bas

Re: CoupAvancerTest.java

Message  Wark le Dim 27 Avr 2008, 20:04

Vu que l'Exception ne fait pas partie du JRE, tu dois mettre un "throws IllegalCoupException" dans la signature de la méthode afin de la "laisser passer".

Wark

Nombre de messages : 682
Age : 29
Prénom : Cédric
Statut : Diplômé 2010
Localisation : Braine l'alleud
Date d'inscription : 04/02/2008

Revenir en haut Aller en bas

Re: CoupAvancerTest.java

Message  Invité le Dim 27 Avr 2008, 20:24

c comme ça??


@test (expected=IllegalCoupExcception.class) public void testEffectuer() throws IllegalCoupException??

Invité
Invité


Revenir en haut Aller en bas

Re: CoupAvancerTest.java

Message  Wark le Dim 27 Avr 2008, 21:28

Ouaip.

Wark

Nombre de messages : 682
Age : 29
Prénom : Cédric
Statut : Diplômé 2010
Localisation : Braine l'alleud
Date d'inscription : 04/02/2008

Revenir en haut Aller en bas

Re: CoupAvancerTest.java

Message  Contenu sponsorisé Aujourd'hui à 12:36


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum