JUnit test pour le Système.out.println()

J'ai besoin d'écrire JUnit tests pour une application ancienne qui est mal conçu et écrit beaucoup de messages d'erreur sur la sortie standard. Lorsque le getResponse(String request) méthode fonctionne correctement, il renvoie une réponse XML:

@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);
}

Mais quand il obtient XML mal formé ou ne comprend pas la demande, il renvoie null et écrit des trucs sur la sortie standard.

Est-il possible d'affirmer sortie de la console dans JUnit? Pour attraper des cas comme:

System.out.println("match found: " + strExpr);
System.out.println("xml not well formed: " + e.getMessage());
InformationsquelleAutor Mike Minicki | 2009-07-13