bonjour,

Je developpe une appli qui devra tourner sous weblogic.
Weblogic met à disposition un ressouce jdndi TransacationManager qui permet donc de comiter plusieurs connection (de divers type jdbc, tuxedo etc..) en même temps.
Tout cela marche très bien MAIS j'aimerais aussi pouvoir tester tout ca unitairement.
Pour mes TU j'ai ainsi crée ma propre datasource que j'ai "bindée" à l'initialContext.
ca marche bien.

J'aurais aimé faire pareil avec le transactionManager.
J'ai du implémenter un bouchon qui implements transactionManager.

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
 InitialContext ic = new InitialContext();
 ic.bind(dataSourceName, ds);
AccesBase.getInstance().setDataSourceName(dataSourceName);
//creer le bouchon de la transaction
TransactionManager tm = createTransaction();
tring tmName = "javax.transaction.TransactionManager";
            String[] tmNameTab = tmName.split("/");
            subContecxt = "";
            for (int i = 0; i < tmNameTab.length - 1; i++) {
                subContecxt += tmNameTab[i];
                try {
                    ic.destroySubcontext(subContecxt);
                    ic.createSubcontext(subContecxt);
                }
                catch (Exception e) {
                    ic.createSubcontext(subContecxt);
                }
            }
  ic.bind(tmName, tm);


et au lancement des tests je me prend l'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
junit.framework.AssertionFailedError: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial
Alors voilà..est ce que je m'y prend mal?
comment peut on tester du code utilisant des transaction ?
Pour info je n'utilise pas Spring.

merci de vos conseil