public static String convertDocumentToString(Document xmlDocument) {
TransformerFactory tf = TransformerFactory.newInstance();
Transformer transformer;
try {
transformer = tf.newTransformer();
StringWriter writer = new StringWriter();
transformer.transform(new DOMSource(xmlDocument), new StreamResult(writer));
return writer.getBuffer().toString();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
字符串
我正在尝试单元测试(junit)以下方法,在单元测试中创建文档的最简单/最简单的方法是什么?
有什么建议吗?Mockito在这里不可行
例如,测试
1. @Test
1. public void convertDocumentToString() {
1. Document document = ??
1.
1. class.convertDocumentToString(document)
型
我如何构建一个Document变量来传递给方法
2条答案
按热度按时间ogq8wdun1#
您可以使用
DocumentBuilder
创建简单的XML文档:字符串
pdtvr36n2#
最简单/最简单的方法是解析一个XML字符串,并验证你得到的是相同的字符串:
字符串
注意,
convertDocumentToString
有一个隐式静态导入。测试该方法在异常时返回null是相当困难的,因为即使输入文档为null或空,Transformer也会传递XML序言,并且不可能构造非法的Document结构(可能存在一些极端情况)。
异常返回null实际上隐藏了一个严重的错误条件。java本身的平台/设置有问题。我建议抛出一个自定义的RuntimeException。