测试什么'写入Java输出流[英] Testing what's written to a Java OutputStream

问题描述

我即将为一个直接输出到 OutputStream 的 XML 解析 Java 类编写 junit 测试.例如,xmlWriter.writeString("foo"); 会产生类似于 <aTag>foo</aTag> 的内容,以写入 XmlWriter 实例中保存的输出流.问题是如何测试这种行为.一种解决方案当然是让 OutputStream 成为 FileOutputStream,然后通过打开写入的文件来读取结果,但这不是很优雅.

推荐答案

使用 ByteArrayOutputStream 然后使用 toByteArray().这不会测试它如何写入流(一次一个字节或作为一个大缓冲区),但通常你不应该关心它.

本文地址:https://www.itbaoku.cn/post/978704.html