Tôi cần phải viết các bài kiểm tra JUnit cho một ứng dụng cũ được thiết kế kém và đang viết rất nhiều thông báo lỗi cho đầu ra tiêu chuẩn. Khi getResponse(String request)
phương thức hoạt động chính xác, nó trả về phản hồi 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);
}
Nhưng khi nó bị lỗi XML hoặc không hiểu yêu cầu, nó sẽ trả về null
và ghi một số nội dung vào đầu ra tiêu chuẩn.
Có cách nào để khẳng định đầu ra giao diện điều khiển trong JUnit không? Để bắt các trường hợp như:
System.out.println("match found: " + strExpr);
System.out.println("xml not well formed: " + e.getMessage());