JUnit-Test für System.out.println ()

Ich muss JUnit-Tests für eine alte Anwendung schreiben, die schlecht entworfen ist und viele Fehlermeldungen in die Standardausgabe schreibt. Wenn dergetResponse(String request) Die Methode verhält sich korrekt und gibt eine XML-Antwort zurück:

@BeforeClass
public static void setUpClass() throws Exception {
    Properties queries = loadPropertiesFile("requests.properties");
    Properties responses = loadPropertiesFile("responses.properties");
    instance = new ResponseGenerator(queries, responses);
}

@Test
public void testGetResponse() {
    String request = "<some>request</some>";
    String expResult = "<some>response</some>";
    String result = instance.getResponse(request);
    assertEquals(expResult, result);
}

Aber wenn es fehlerhaftes XML bekommt oder die zurückgegebene Anfrage nicht verstehtnull und schreibt ein paar Sachen in die Standardausgabe.

Gibt es eine Möglichkeit, die Konsolenausgabe in JUnit zu bestätigen? Fälle wie:

System.out.println("match found: " + strExpr);
System.out.println("xml not well formed: " + e.getMessage());

Antworten auf die Frage(12)

Ihre Antwort auf die Frage