lundi 31 janvier 2011

Maven Surefire: Lancer un seul test




Il est parfois fastidieux d'avoir à lancer l'intégralité des tests d'un projet ou module maven si on a besoin d'en lancer un seul. Pour éviter cela on peut indiquer à surefire quel test exécuter:






$ mvn test -Dtest=OnlyMe





On notera également qu'il n'est pas nécessaire d'utiliser le "Fully qualified name" de la classe de test, le nom de la classe est suffisant.



Plus d'infos:  
http://maven.apache.org/plugins/maven-surefire-plugin/examples/single-test.html


http://maven.apache.org/plugins/maven-surefire-plugin/test-mojo.html#test


lundi 24 janvier 2011

Hibernate: valeur des paramètres et log




Toujours galère de d'analyser les logs d'une appli utilisant Hibernate car les requêtes sont paramétrées (heureusement) et les paramètres ne sont pas directement accessible (on voit des '?' en lieu et place des valeurs dans les clause where).



Pour y remédier, rien de plus simple, il faut activer les loggers d'Hibernate qui journalisent ces informations. Donc dans log4j.properties (ou sa version XML), placer la directive suivante:




log4j.category.org.hibernate.type.descriptor.sql=TRACE



Cela permettra de trouver dans les logs les messages suivants pour chaque requête paramétrée envoyée par Hibernate:






4000 [main] TRACE org.hibernate.type.descriptor.sql.BasicBinder  - binding parameter [1] as [BIGINT] - 1295864313859


4000 [main] TRACE org.hibernate.type.descriptor.sql.BasicBinder  - binding parameter [2] as [TIMESTAMP] - Mon Jan 24 11:18:33 CET 2011


4000 [main] TRACE org.hibernate.type.descriptor.sql.BasicBinder  - binding parameter [3] as [BIGINT] - 1295864313843