2010-12-08 36 views
3

J'ai essayé d'exécuter un test d'intégration basé sur GroovyTestCase. Il possède une propriété log intégrée selon API docs. Au début, j'essayais de consigner un message d'information alors qu'un test était en cours, en utilisant this site comme référence. J'ai été surpris que mes messages de journalisation ne s'affichent jamais dans la console IntelliJ9, j'ai donc essayé d'exécuter mon test d'intégration sur mon Mac à partir de la fenêtre Terminal. Cependant, je n'ai vu aucune sortie, même si mon code avait défini le niveau de journalisation sur ALL et que j'utilisais le ConsoleHandler. J'avais presque abandonné à ce sujet, mais j'ai remarqué un message dans la fenêtre du terminal, qui indiquait que mes tests échouaient dans le dossier target/test-reports.java.util.logging Utilisation de ConsoleHandler et ne pas voir la sortie system.err dans la fenêtre de terminal IntelliJ IDEA 9 ou Mac

Bizarrement, je ne peux même pas voir le dossier cible dans la fenêtre de l'Explorateur de projet d'IntelliJ9, quelle que soit l'option que je prends. Donc je suppose que c'est une question que je voudrais résoudre.

Quoi qu'il en soit, j'ai suivi le rapport d'erreur, et quand je descends dans le test échoué du rapport HTML, il y a un lien vers system.err et voila. Il y a ma sortie que je m'attendais à voir depuis le début! Donc la deuxième partie de ceci est, est-ce qu'il y a une sorte de système UNIX.err rediriger vers system.out que je dois faire pour voir cette sortie dans mon IDE?

Des idées?

Je compris comment afficher le dossier cible ... Structure du projet -> Modules -> les dossiers exclus cliquez x contre la cible visée à l'article exclus (à gauche des dossiers) vous pouvez le supprimer à nouveau par la structure du projet -> Modules -> cliquez sur le dossier 'target' puis sur le bouton Excluded au-dessus de la liste des dossiers

Répondre

1

Voir GRAILS-7012. Connectez-vous le GroovyTestCase est java.util.logging, pas log4j. Vous devriez définir votre propre enregistreur et l'utiliser à la place. L'enregistreur GroovyTestCase intégré a une configuration codée en dur pour produire des fichiers stderr et stdout en format HTML, XML et texte (il exécute des tests interceptant toutes les sorties et générant des fichiers dans différents formats en utilisant XSL personnalisé - junit-frames.xsl).

+0

Je suis conscient du fait qu'il s'agit d'un journal java.util.logging à partir des documents de l'API. Ce que je ne comprends pas, c'est que ça ne marche pas. log.addHandler (new ConsoleHandler()) log.setLevel (Level.ALL) log.log (Level.INFO, 'entré') (Entré ne s'affiche jamais dans la console) – JGFMK

+0

ie Entré ne s'affiche jamais dans la console de l'IDE IntelliJ ou Fenêtre Terminal/Shell UNIX de mon Mac – JGFMK

+0

Vérifiez à travers le code source comment l'exécution est effectuée, il peut intercepter tous les journaux de sortie et les diriger dans les fichiers. – CrazyCoder