18
我正在編寫一些故意將錯誤字符串傳遞給Java DOM XML解析器的單元測試。如何防止將XML分析錯誤寫入System.err(stderr)?
E.g.
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
String message_xml = ""; // Empty string, not valid XML!!!
ByteArrayInputStream input = new ByteArrayInputStream(message_xml.getBytes());
Document doc = db.parse(input);
這正確地拋出了一個SAXParseException(這是我的單元測試期望的)。但它也是在Java控制檯寫一條消息到System.err的(錯誤):
[Fatal Error] :1:1: Premature end of file.
有什麼辦法來配置XML解析器不能寫入標準錯誤?
我正在使用Java 1.6SE。
嘗試配置包的記錄器?但爲什麼這很重要 - 他們是單元測試。 –