J'ai besoin d'écrire des tests JUnit pour une ancienne application mal conçue et écrit beaucoup de messages d'erreur sur la sortie standard. Lorsque la getResponse(String request)
méthode 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 obtient du XML mal formé ou ne comprend pas la demande, il retourne null
et écrit des trucs 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());