Je dois écrire des tests JUnit pour une ancienne application qui est mal conçue et qui écrit de nombreux messages d'erreur sur la sortie standard. Lorsque la méthode getResponse(String request)
se comporte correctement, il renvoie une réponse XML:JUnit test for System.out.println()
@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 malformé ou ne comprend pas la demande, il retourne 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());
liés, mais pas un doublon de http://stackoverflow.com/questions/3381801/how-do-i-unit-test-saving-file-to-the-disk – Raedwald