J'ai besoin d'écrire des tests JUnit pour une ancienne application qui est mal conçue et écrit beaucoup de messages d'erreur sur la sortie standard. Lorsque la méthode getResponse (String request) se comporte correctement, elle 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 est malformé en XML ou ne comprend pas la requête, il renvoie null et écrit des choses sur la sortie standard.
Existe-t-il un moyen d'affirmer la 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());