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

Spring Java Discussion :

[Spring-mock] [Spring-test] AbstractTransactionalSpringContextTests


Sujet :

Spring Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut [Spring-mock] [Spring-test] AbstractTransactionalSpringContextTests
    Bonjour,

    J'ai modifié mes tests unitaires afin d'étendre la classe abstraite AbstractTransactionalSpringContextTests du module Spring-mock 2.0.2 (désormais Spring-test).

    Ma classe ressemble à ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public MonDATest extends AbstractTransactionalSpringContextTests {
    private MonDA monDA;
    public void setMonDA(MonDA monDA){
       this.monDA = monDA;
    }
    public MonDA getMonDA(){
       return this.monDA;
    }
    protected final String[] getConfigLocations() {}
       return new String[]{"app-context.xml", ...}
    }
    J'ai ajouté dans mon context spring le HibernateTransactionManager alimenté via le autowire par défaut :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    	<bean id="transactionManager"
    		class="org.springframework.orm.hibernate.HibernateTransactionManager">
    		<property name="sessionFactory">
    			<ref bean="sessionFactory" />
    		</property>
    	</bean>
    Mon problème, c'est comment alimenter monDA ?

    Habituellement, je faisais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getApplicationContext().getBean("monDA");
    dans la méthode setUp.

    Apparemment, avec AbstractTransactionalSpringContextTests, il faut utiliser onSetUpInTransaction.

    J'aimerais savoir comment vous faites, et si il est possible de le faire en autowire par exemple?

    Merci de votre aide!
    Dernière modification par Robin56 ; 05/08/2013 à 21h17. Motif: Ajout du préfixe

  2. #2
    Membre chevronné

    Inscrit en
    Avril 2005
    Messages
    317
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 317
    Par défaut
    La classe AbstractTransactionalSpringContextTests fait de l'auto-wiring
    Ta propriété monDA devrait donc être automatiquement instanciée
    http://www.devx.com/Java/Article/30067/0/page/3

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par ericw78 Voir le message
    La classe AbstractTransactionalSpringContextTests fait de l'auto-wiring
    Ta propriété monDA devrait donc être automatiquement instanciée
    http://www.devx.com/Java/Article/30067/0/page/3
    Ben c'est ce que je pensais, mais ça ne fonctionne pas.

    Quelles sont les conditions pour que l'autowiring fonctionne?

    Avoir un getter/setter sur mon attribut privé MonDA?

    Voici mon app-context:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    	<bean id="abstractDA" abstract="true">
    		<property name="sessionFactory">
    			<ref bean="sessionFactory" />
    		</property>
    	</bean>
     
    	<bean id="monDA" parent="abstractDA"
    		class="monPackage.da.impl.hibernate.MonDAImpl">
    	</bean>

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 963
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 963
    Par défaut
    Citation Envoyé par Muscador Voir le message
    Ben c'est ce que je pensais, mais ça ne fonctionne pas.
    l'application context est dans "applicationContext" attribut hérité de AbstractTransactionalSpringContextTests, donc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    … = applicationContext.getBean("monDA");
    fonctionnera…

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par JeitEmgie Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    … = applicationContext.getBean("monDA");
    fonctionnera…
    Ben oui, c'est ce que je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getApplicationContext().getBean("monDA");
    mais comme la classe est en autowire, je pensais que l'on pouvait faire sans.

    Merci

Discussions similaires

  1. Spring.net et test unitaire via VS2010
    Par GreenPhoenix dans le forum Framework .NET
    Réponses: 2
    Dernier message: 07/12/2011, 22h59
  2. [Integration] Spring aop & unit test
    Par teletexte dans le forum Spring
    Réponses: 4
    Dernier message: 19/01/2011, 14h22
  3. [Integration] Spring Contexte BD Tests Unitaires
    Par yyusy dans le forum Spring
    Réponses: 3
    Dernier message: 26/07/2010, 16h15
  4. [Java][Spring] Certification Spring, pour ou contre?
    Par Hikage dans le forum Certifications
    Réponses: 3
    Dernier message: 28/12/2007, 13h33
  5. [Spring MVC] spring bind tag
    Par Socrate93 dans le forum Spring Web
    Réponses: 2
    Dernier message: 19/09/2007, 12h18

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