我需要爲設計不佳的舊應用程序編寫JUnit測試,並將大量錯誤消息寫入標準輸出。當getResponse(String request)
方法正確的行爲是返回XML響應:對於System.out.println()的JUnit測試()
@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);
}
但是,當它變得畸形XML或不理解的請求,則返回null
並寫一些東西到標準輸出。
有沒有辦法在JUnit中聲明控制檯輸出?爲了趕上樣病例:
System.out.println("match found: " + strExpr);
System.out.println("xml not well formed: " + e.getMessage());
相關,但不是http://stackoverflow.com/questions/3381801/how-do-i-unit-test-saving-file-to-the-disk – Raedwald 2014-07-05 13:22:29