测试写入Java OutputStream的内容

我将要为直接输出到OutputStream的XML解析Java类编写junit测试。例如xmlWriter.writeString(“foo”);将产生类似< aTag> foo< / aTag>被写入XmlWriter实例中保存的输出流。问题是如何测试这种行为。一个解决方案当然是让OutputStream成为FileOutputStream,然后通过打开写入的文件来读取结果,但它不是很优雅。
使用ByteArrayOutputStream,然后使用toByteArray()获取数据。这不会测试它如何写入流(一次一个字节或作为一个大缓冲区),但通常你不应该在乎。
翻译自:https://stackoverflow.com/questions/225073/testing-whats-written-to-a-java-outputstream

转载注明原文:测试写入Java OutputStream的内容