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

Seam Java Discussion :

[Seam] débutant en test unitaire avec Seam


Sujet :

Seam Java

  1. #1
    Membre habitué
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    167
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 167
    Points : 143
    Points
    143
    Par défaut [Seam] débutant en test unitaire avec Seam
    Bonjour,

    je cherche à faire des tests unitaires via TestNG.

    Ayant généré une projet Seam avec le Plugin JBOSS, j'obtiens 4 projets dans mon workspace:
    - Seam-test qui contient mon projet web
    - Seam-test-ear
    - Seam-test-ejb
    - Seam-test-test

    ayant farfouiller sur le web, j'ai trouver entre autre des infos sur le site JBOSS

    J'ai pu y trouver un bout de code permettant normalement de faire rapidement des tests.


    Première remarque, si mon test est dans le projet de test... Cela ne marche pas! J'ai donc déplacer ma classe dans mon projet ejb et quelque chose se passe alors...

    Deuxièmement, comme vous le voyez, mon test ne fait pas grand choses si ce n'est vérifier que ça roule.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    package com.sample;
     
    import org.jboss.seam.mock.SeamTest;
    import org.testng.annotations.Test;
     
    public class RegisterTest extends SeamTest {
     
    	@Test
    	public void testRegisterComponent() throws Exception {
     
     
     
    	}
    }
    malheureusement, j'obtiens l'erreur suivante:

    java.lang.RuntimeException: Could not create Component: statementOfAccount
    at org.jboss.seam.init.Initialization.addComponent(Initialization.java:1202)
    at org.jboss.seam.init.Initialization.installComponents(Initialization.java:1118)
    at org.jboss.seam.init.Initialization.init(Initialization.java:733)
    at org.jboss.seam.mock.AbstractSeamTest.startSeam(AbstractSeamTest.java:919)
    at org.jboss.seam.mock.SeamTest.startSeam(SeamTest.java:58)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:592)
    at org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:604)
    at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:394)
    at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:142)
    at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:79)
    at org.testng.SuiteRunner.privateRun(SuiteRunner.java:261)
    at org.testng.SuiteRunner.run(SuiteRunner.java:190)
    at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:792)
    at org.testng.TestNG.runSuitesLocally(TestNG.java:765)
    at org.testng.TestNG.run(TestNG.java:699)
    at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:73)
    at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:122)
    Caused by: java.lang.IllegalArgumentException: You must specify org.jboss.seam.core.init.jndiPattern or use @JndiName: statementOfAccount
    at org.jboss.seam.Component.getJndiName(Component.java:451)
    at org.jboss.seam.Component.<init>(Component.java:233)
    at org.jboss.seam.Component.<init>(Component.java:205)
    at org.jboss.seam.init.Initialization.addComponent(Initialization.java:1186)
    ... 19 more
    Quelqu'un a-t'il une idée? une solution? Merci d'avance
    Jean

  2. #2
    Membre habitué
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    167
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 167
    Points : 143
    Points
    143
    Par défaut
    J'ai trouvé la solution.

    Premièrement, j'ai augmenté mon log level au max.
    Ensuite, j'ai cherché et trouvé un truc sur la toile...

    cf: Seam testing is failing

    qui dit la chose suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Hi
     
    Yahoo ! I'm able to test this. I removed seam.properties from not-testing project temperately . this file exists 2 times in testing-project class path. now it's working fine.Because of this ,it's getting "Two components with the same name and precedence"
    exception
     
    thanks
    raghu
    Donc, il suffit d'enlever les fichiers seam.properties et cela fonctionne alors correctement.

    Cordialement

  3. #3
    Membre habitué
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    167
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 167
    Points : 143
    Points
    143
    Par défaut
    En fait, mon problème n'est pas résolu, j'ai maintenant l'erreur suivante.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    [Parser] Running:
      C:\Users\j.vacheron\AppData\Local\Temp\testng-eclipse\testng-customsuite.xml
     
    FAILED CONFIGURATION: @BeforeClass init
    java.lang.RuntimeException: Could not create Component: register
    	at org.jboss.seam.init.Initialization.addComponent(Initialization.java:1043)
    	at org.jboss.seam.init.Initialization.installComponents(Initialization.java:965)
    	at org.jboss.seam.init.Initialization.init(Initialization.java:643)
    	at org.jboss.seam.mock.BaseSeamTest.startSeam(BaseSeamTest.java:939)
    	at org.jboss.seam.mock.BaseSeamTest.init(BaseSeamTest.java:923)
    	at org.jboss.seam.mock.SeamTest.init(SeamTest.java:42)
    Caused by: java.lang.IllegalArgumentException: You must specify org.jboss.seam.core.init.jndiPattern or use @JndiName: register
    	at org.jboss.seam.Component.getJndiName(Component.java:438)
    	at org.jboss.seam.Component.<init>(Component.java:243)
    	at org.jboss.seam.Component.<init>(Component.java:217)
    	at org.jboss.seam.init.Initialization.addComponent(Initialization.java:1028)
    	... 27 more
    ... Removed 22 stack frames
    SKIPPED CONFIGURATION: @BeforeMethod begin
    SKIPPED CONFIGURATION: @AfterMethod end
    SKIPPED CONFIGURATION: @AfterClass cleanup
    SKIPPED: testLogin
     
    ===============================================
        org.jboss.seam.example.registration.test.RegisterTest
        Tests run: 1, Failures: 0, Skips: 1
        Configuration Failures: 1, Skips: 3
    ===============================================
     
     
    ===============================================
    registration-ejb
    Total tests run: 1, Failures: 0, Skips: 1
    Configuration Failures: 1, Skips: 3
    Quelqu'un a-t'il une idée?

    ps: j'utilise l'example register de seam.

Discussions similaires

  1. Test unitaire avec DUnit
    Par stef_chand dans le forum Outils
    Réponses: 1
    Dernier message: 07/09/2007, 15h40
  2. Test unitaire avec C# et nunit
    Par jeromechezgdf dans le forum C#
    Réponses: 6
    Dernier message: 16/07/2007, 11h51
  3. Tests unitaires avec vbUnit sur des contrôles utilisateurs
    Par Patrick Mortas dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 07/09/2006, 18h06
  4. test unitaire avec python
    Par Abla23 dans le forum Zope
    Réponses: 4
    Dernier message: 30/06/2006, 13h04

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