Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1488 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [JUnit][JavaCC] Comment utiliserr JUnit avec des visiteurs ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[JUnit][JavaCC] Comment utiliserr JUnit avec des visiteurs ?

n°712044
squall36
PSN: JeanquiSquall
Posté le 29-04-2004 à 16:57:18  profilanswer
 

Bonjour,  
 
Je développe une appli Java qui est en fait un typechecker OCL. Pour cela, j'utilise JavaCC et le concept de visiteurs, chaque méthode visit de chaque noeud est donc enrichie pour effectuer un traitement spécifique (en l'occurrence du contrôle de type dans le cas présent).  
 
 
J'aimerais donc utiliser JUnit pour tester tout ça, et là je vois pas trop de quelle façon je peux faire...  
 
Est ce que c'est utile et pertinent de créer des cas de test pour chacun des noeuds et surtout comment est ce que c'est implémentable?  
 
Par exemple, j'ai un noeud ASTName correspondant à un nom dans le code OCL. Dans ce cas, je vois en gros comment utiliser JUnit :  
 

Code :
  1. public void testVisitASTNameDefSelfObject() {
  2.       oclTC.setClassName("DVM" );
  3.       ASTName node = new ASTName(0);
  4.       node.setValue("amountRegistered" );
  5.       Object returned = oclTC.visit(node, null);
  6.       assertEquals("type attendu : OCLModelClass : DVM", _data.getElements().get("amountRegistered*DVM" ), returned);
  7.    }


 
J'ai ce qu'il me faut. Par contre le problème vient des autres noeuds : le noeud Name est 'en bout de chaine', c'est à dire qu'il n'y a pas d'arborescence visitée en dessous pour resortir quelque chose, ce qui n'est pas le cas des autres noeuds.  
 
Par exemple, j'ai un noeud ASTAbs : valeur absolue en OCL qui s'utilise comme ça :  
 

Code :
  1. expressionNumérique.abs()


 
 
La grammaire me génère un noeud ASTAbs qui contient 4 fils (je sais c'est bizarre, mais c'est normal) dont un qui correspond à l'expression numérique en paramètre.  
Il y a alors deux cas lors de la visite du noeud :  
- soit l'expression est bien une expression numérique, en retour j'ai qqchose typé comme cette expression  
- soit l'expression n'est pas numérique, dans ce cas, j'ai un message d'erreur et le retour correspond à une sorte de null.  
 
Là je suis un peu coincé, je vois pas ce qu'il me faut construire pour créer ces deux cas de tests, comment passer l'expression...  
De plus, ce ne sont pas forcément les retours de la méthode qui changent, mais plutôt des actions internes (genre ajouter le message d'erreur dans un vecteur de messages d'erreurs...)  
 
Est ce que mon setUp doit me permettre de passer une Expression OCL et à partir de là me créer mon arbre correspondant?  
Ca me parait assez lourd et du coup je vois plus vraiment l'intérêt d'utiliser JUnit  :/
 
Enfin, voilà, si qqn a déjà utiliser ce genre de truc, je suis curieux de savoir comment ça peut se passer.  
 
Merci


Message édité par squall36 le 29-04-2004 à 17:05:20
mood
Publicité
Posté le 29-04-2004 à 16:57:18  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [JUnit][JavaCC] Comment utiliserr JUnit avec des visiteurs ?

 

Sujets relatifs
question de debutant sur JAVACCCompteur de visiteurs sur Wanadoo > pas le droit au PHP, comment faire
Utilite réelle de JUnit ?Utilisez-vous JUnit ?
[PHP] Connaître la résolution des visiteursContrôler le navigateur des visiteurs.... + message
Rediriger tout les visiteurs ...[compteur] sur quoi se basser pour compter que les new visiteurs ?
[PHP] Diriger les visiteurs suivant leur login+MDP stockés sur une BdDAfficher le nombre de visiteurs Online !
Plus de sujets relatifs à : [JUnit][JavaCC] Comment utiliserr JUnit avec des visiteurs ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR