3 Stimmen

Protokollierung in einem GrailsUnitTestCase?

Wie richte ich die Protokollierung in einem Grails-Unit-Test?

Wenn ich versuche log.info o log.debug die .txt Ausgabedateien sind leer, auch nachdem ich versucht habe, einen Konsolenappender hinzuzufügen. Was ist hier los?

2voto

Dónal Punkte 180956

Dies könnte helfen, es stammt aus den 1.2 Release Notes

Standardmäßig macht Grails Ausgabe Ihrer Tests. Sie können können Sie dies tun, indem Sie -echoOut und/oder -echoErr an test-app übergeben:

grails test-app -echoOut -echoErr

0voto

John Stoneham Punkte 2445

Wenn Sie die GrailsUnitTestCase sollten Sie in der Lage sein, Folgendes zu verwenden mockLogging() , aber die Appenders, die Sie in Grails Config einrichten, werden nicht in einem Unit-Test angewendet, der isoliert vom echten Framework arbeitet. Sie würden nur in Integrationstests verfügbar sein.

0voto

Jay Prall Punkte 5025

Ich war nicht in der Lage, mockLogging in Grails 1.3.7 mit GrailsUnitTestCase entweder zu verwenden. Ich denke, es ist wahrscheinlich ein Fehler und es kann in Grails 2.0 funktionieren. Hier ist, was ich tat, um es zu umgehen:

class Foo {
    String name

    Long invokeLogTest(String key) {
        if (key.empty) {
            log.error("key was sent as empty string")
            return 10
        }  
    }
}

void testErrorCase() {
    def f = new Foo(name:'jp')
    f.metaClass.log = [error:{}]
    assert 10 == f.invokeLogTest("")
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X