我即将为直接输出到OutputStream的XML解析Java类编写junit测试.例如,xmlWriter.writeString("foo");
会生成类似于
写入XmlWriter实例中保存的输出流的内容.问题是如何测试这种行为.一个解决方案当然是让OutputStream成为FileOutputStream然后通过打开写入的文件来读取结果,但它不是很优雅.
使用ByteArrayOutputStream,然后使用toByteArray()从中获取数据.这不会测试它如何写入流(一次一个字节或作为一个大缓冲区),但通常你不应该关心它.