Bonjour,
J'ai encore un petit souci avec JUNIT. Je n'arrive pas à valider mon test...alors le résultat est juste (je le lis à travers l'application web via le navigateur).
Mais le Junit n'arrive pas à valider :
Code :
- try
- {
- this.wait( 2000L );
- }
- catch (InterruptedException e)
- {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- assertNotNull( lSrcCounter );
- assertNotNull( lDestCounter );
- assertNotNull( lSrcHomeCounter );
- assertNotNull( lDestHomeCounter );
- assertEquals( 0, lSrcCounter.intValue() );
- assertEquals( 0, lSrcHomeCounter.intValue() );
- assertEquals( 1, lDestCounter.intValue() );
- assertEquals( 1, lDestHomeCounter.intValue() );
|
Les 2 derniers asserEquals avec 1 pètent....la subtilité par rapport à mes autres tests est que le calcul des valeurs "actual" comme lDestCounter.intValue() se fait dans un thread séparé...c'est pour cela que j'ai mis un wait dans mon JUnit pour attendre que les compteurs se mettent bien à jour. Mais ça change rien pour junit ça ne vaut pas 1 mais 0 .
Même mes log disent que ça à bien été setté à 1....en base de données aussi...mes tests manuels marchent....mais Junit il veut pas .
Je mets en doute l'aspect multithread ou les transaction qui font un effet de bord à mon junit .
KK1 pourrait-il m'éclairer, merci !
---------------
Asus P5Q Pro | C2D E8400 3GHz@4GHz + Noctua NH-C12P | 2x2Go Patriot Extreme PC-8500 | GeForce GTX 460@Stock 1Go GLH | Crucial SSD M4 64Go Sata3