IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Wildfly/JBoss Java Discussion :

erreur test case


Sujet :

Wildfly/JBoss Java

  1. #1
    Membre habitué
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Octobre 2005
    Messages
    315
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 315
    Points : 138
    Points
    138
    Par défaut erreur test case
    bonjour, j'ai essayé de lancer une application simple de test avec jboss jbpm à travers Eclipse et j'obtiens le message d'erreur suivant:

    ERROR JpdlXmlReader : couldn't parse process definition
    org.dom4j.DocumentException: null Nested exception: null
    at org.dom4j.io.SAXReader.read(SAXReader.java:484)
    at org.jbpm.jpdl.xml.JpdlParser.parse(JpdlParser.java:57)
    at org.jbpm.jpdl.xml.JpdlXmlReader.readProcessDefinition(JpdlXmlReader.java:138)
    at org.jbpm.graph.def.ProcessDefinition.parseXmlInputStream(ProcessDefinition.java:172)
    at org.jbpm.graph.def.ProcessDefinition.parseXmlResource(ProcessDefinition.java:153)
    at com.exemple.ProcessTest.testProcess(ProcessTest.java:12)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at junit.framework.TestCase.runTest(TestCase.java:154)
    at junit.framework.TestCase.runBare(TestCase.java:127)
    at junit.framework.TestResult$1.protect(TestResult.java:106)
    at junit.framework.TestResult.runProtected(TestResult.java:124)
    at junit.framework.TestResult.run(TestResult.java:109)
    at junit.framework.TestCase.run(TestCase.java:118)
    at junit.framework.TestSuite.runTest(TestSuite.java:208)
    at junit.framework.TestSuite.run(TestSuite.java:203)
    at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
    Nested exception:
    java.net.MalformedURLException
    at java.net.URL.<init>(Unknown Source)
    at java.net.URL.<init>(Unknown Source)
    at java.net.URL.<init>(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLVersionDetector.determineDocVersion(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
    at org.dom4j.io.SAXReader.read(SAXReader.java:465)
    at org.jbpm.jpdl.xml.JpdlParser.parse(JpdlParser.java:57)
    at org.jbpm.jpdl.xml.JpdlXmlReader.readProcessDefinition(JpdlXmlReader.java:138)
    at org.jbpm.graph.def.ProcessDefinition.parseXmlInputStream(ProcessDefinition.java:172)
    at org.jbpm.graph.def.ProcessDefinition.parseXmlResource(ProcessDefinition.java:153)
    at com.exemple.ProcessTest.testProcess(ProcessTest.java:12)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at junit.framework.TestCase.runTest(TestCase.java:154)
    at junit.framework.TestCase.runBare(TestCase.java:127)
    at junit.framework.TestResult$1.protect(TestResult.java:106)
    at junit.framework.TestResult.runProtected(TestResult.java:124)
    at junit.framework.TestResult.run(TestResult.java:109)
    at junit.framework.TestCase.run(TestCase.java:118)
    at junit.framework.TestSuite.runTest(TestSuite.java:208)
    at junit.framework.TestSuite.run(TestSuite.java:203)
    at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
    et voici mon code :

    package com.exemple;

    import org.jbpm.graph.def.ProcessDefinition;
    import org.jbpm.graph.exe.ProcessInstance;
    import org.jbpm.graph.exe.Token;

    import junit.framework.TestCase;

    public class ProcessTest extends TestCase {

    public void testProcess(){
    ProcessDefinition processDefinition=ProcessDefinition.parseXmlResource("processdefinition.xml");

    ProcessInstance instance=new ProcessInstance(processDefinition);
    Token token=instance.getRootToken();

    assertSame(processDefinition.getStartState(), token.getNode());
    token.signal();
    assertSame(processDefinition.getNode("s"), token.getNode());
    token.signal();
    assertSame(processDefinition.getNode("end"), token.getNode());
    }
    }
    je pense qu'il ne reconnais pas le chemin de la définition du processus, donc essayer plusieurs mais rien à faire l'erreur persiste.

    Quelqu'un a t il une idée ?

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 18
    Points : 8
    Points
    8
    Par défaut
    Tente la création de ton process via un ParseXMLString et non un ParseXMLResource :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        ProcessDefinition processDefinition = ProcessDefinition.parseXmlString(
          "<process-definition name='the baby process'>" +
          "  <start-state>" +
          "    <transition name='baby cries' to='t' />" +
          "  </start-state>" +
          "  <task-node name='t'>" +
          "    <task name='change nappy'>" +
          "      <assignment class='org.jbpm.tutorial.taskmgmt.NappyAssignmentHandler' />" +
          "    </task>" +
          "    <transition to='end' />" +
          "  </task-node>" +
          "  <end-state name='end' />" +
          "</process-definition>"
        );
    Salut !

  3. #3
    Membre habitué
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Octobre 2005
    Messages
    315
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 315
    Points : 138
    Points
    138
    Par défaut erreur test case
    en passant par le
    parseXmlString
    cela marche !!
    mais pourquoi ne prend il pas en compte le processus lorsque j'utilise
    parseXmlResource
    ?

    cela m'embête beaucoup car je voudrais justement utiliser le designer d'Eclipse et pouvoir récuper ce process.

  4. #4
    Membre éclairé Avatar de XmasRock
    Inscrit en
    Janvier 2007
    Messages
    729
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 729
    Points : 821
    Points
    821
    Par défaut
    J'ai l'impression que ton fichier n'est pas trouvé par le code. Peux tu vérifier ça ?

  5. #5
    Membre habitué
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Octobre 2005
    Messages
    315
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 315
    Points : 138
    Points
    138
    Par défaut erreur test case
    comment le vérifier ?
    j'ai fait plusiseurs tests en modifiant le chemin du processdefinition.xml, mais toujours rien

  6. #6
    Membre habitué
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Octobre 2005
    Messages
    315
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 315
    Points : 138
    Points
    138
    Par défaut erreur test case
    un autre point sombre que j'arrive pas à assimiler:

    lorsque j' appelle
    token.signal()
    je remarque qu'il execute ceci:
    17:32:33,313 [main] DEBUG GraphElement : event 'before-signal' on 'StartState(start)' for 'Token(/)'
    17:32:33,313 [main] DEBUG GraphElement : event 'node-leave' on 'StartState(start)' for 'Token(/)'
    17:32:33,313 [main] DEBUG GraphElement : event 'transition' on 'Transition(a)' for 'Token(/)'
    17:32:33,313 [main] DEBUG GraphElement : event 'node-enter' on 'Node(s)' for 'Token(/)'
    17:32:33,313 [main] DEBUG GraphElement : event 'node-leave' on 'Node(s)' for 'Token(/)'
    17:32:33,313 [main] DEBUG GraphElement : event 'transition' on 'Transition(b)' for 'Token(/)'
    17:32:33,313 [main] DEBUG GraphElement : event 'node-enter' on 'EndState(end)' for 'Token(/)'
    17:32:33,313 [main] DEBUG GraphElement : event 'process-end' on 'ProcessDefinition(helloWord)' for 'Token(/)'
    17:32:33,313 [main] DEBUG GraphElement : event 'after-signal' on 'StartState(start)' for 'Token(/)'
    je ne comprends pas pourquoi il ne s'arrête pas au Noeud qui suit directement start et va directement au noeud 'end' .
    j'ai repris le tuto présent dans le userguide

  7. #7
    Membre éclairé Avatar de XmasRock
    Inscrit en
    Janvier 2007
    Messages
    729
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 729
    Points : 821
    Points
    821
    Par défaut
    Quel type de noeud utilises-tu ? Ce devrait être un "state" ?
    Relies http://docs.jboss.com/jbpm/v3/usergu...ing.html#nodes

  8. #8
    Membre à l'essai
    Inscrit en
    Mars 2003
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 13
    Points : 13
    Points
    13
    Par défaut
    Bonjour.

    J'ai le meme problème.
    Si j'inclu directement le process dans le source de la classe de test, ca marche, par contre dès qu'il est déporté dans le fichier idoine, ca coince.

    Quelle est la solution pour lire le fichier processdefinition.xml????

    Faut-il le déclarer quelques part??
    Parce qu'en reprenant la meme structure de fichier avec les sources de l'exemple door, je n'ai pas ce souci de lecture du fichier processdefinition.xml...

    Dans le projet door, la récup du fichier ne pose aucun problème via l'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ProcessDefinition.parseXmlInputStream(
    		      HelloTest.class.getResourceAsStream("processdefinition.xml")
    alors que cette meme ligne me ramène null dans un projet à la structure identique... (les fichiers processdefiniton.xml sont situés au meme endroit)
    A fond a fond a fond, diiiiirect' dans les graviers!!! :o)

  9. #9
    Membre à l'essai
    Inscrit en
    Mars 2003
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 13
    Points : 13
    Points
    13
    Par défaut
    Ok c'est bon, j'ai trouvé...

    Il faut juste que la classe de test et le processdefinition.xml respectent les memes nom de packages, tout béatement...
    Images attachées Images attachées  
    A fond a fond a fond, diiiiirect' dans les graviers!!! :o)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 15
    Dernier message: 03/12/2019, 11h42
  2. [BO 6.5] Erreur test d'intégrité
    Par kilmouli dans le forum Designer
    Réponses: 7
    Dernier message: 03/12/2007, 13h04
  3. Recherche outil d'écriture de test case
    Par Alec6 dans le forum Outils
    Réponses: 1
    Dernier message: 21/03/2007, 09h40
  4. erreur select case
    Par maximedrouet dans le forum ASP
    Réponses: 4
    Dernier message: 15/05/2006, 14h40
  5. erreur select case
    Par maximedrouet dans le forum ASP
    Réponses: 12
    Dernier message: 06/01/2005, 15h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo