2010-06-07 3 views
2

Désolé, c'est probablement une question très simple. J'utilise le http://www.gradle.org/ pour mon environnement de développement. Ça marche plutôt bien!Grava java.util.logging.Logger sortie dans les tests unitaires

J'ai écrit un test unitaire simple qui utilise HtmlUnit et mon propre paquet.

Pour mon propre paquet, j'utilise java.util.Logger.

HtmlUnit semble utiliser l'enregistrement des biens communs: http://htmlunit.sourceforge.net/logging.html

Je voudrais voir la sortie de la console de mes messages de journalisation de java.util.Logger

Cependant, il semble que même les messages au niveau d'information sont ne s'affiche pas dans l'interface graphique de résultats de test d'unité (lien System.err), bien que les messages HtmlUnit soient tous affichés.

Faites-moi savoir si vous avez des suggestions.

Merci! Misha

+0

Encore une indication: il semble que si j'utilise un enregistreur dans la classe _test_ réelle, tout fonctionne bien. Cependant, mon enregistreur est dans la classe en cours de test, et cette sortie ne semble pas être traitée correctement. –

Répondre

0

Le raccordement de systèmes de journalisation à partir de bibliothèques qui utilisent les leurs est compliqué. Pourquoi ne pas utiliser les JAR de liaison de slf4j? Ils redirigeront les anciens appels vers les communs qui se connectent à leur propre système de journalisation sur lequel vous concevez.

Jetez un oeil à http://www.slf4j.org/legacy.html

+0

Merci. Je suis encore un peu confus cependant. Quelle sortie de journalisation peut être utilisée pour être affichée dans les résultats de test de l'unité? Je veux dire pour mes propres programmes. Nous vous remercions Misha –

2

Ok. Je l'ai compris. C'était assez étrange.

A savoir, si j'initialiser l'enregistreur en dehors de toutes les méthodes:

class foo { 
    def log=Logger.getLogger(this.class.name) 
} 

sortie du journal ne se voit pas quand j'écris un test.

Cependant, si j'initialiser l'enregistreur dans le constructeur

class foo { 
    def log 
    foo() { 
     log=Logger.getLogger(this.class.name) 
    } 
} 

Ensuite, il fonctionne très bien. Odd ...

Merci! Misha