比较Java中的两个ByteArrayOutputStreams

时间:2016-04-17 11:56:09

标签: java unit-testing outputstream

我正在将输出写入通过ByteArrayOutputStream写入的excel文件。我想编写测试来比较预期的ByteArrayOutputStream(excel单元格是否包含我需要的数据)和输出ByteArrayOutputStream。有没有办法比较ByteArrayOutputStreams中的Java 1}}?另外我应该如何设置我的预期outputStream?

1 个答案:

答案 0 :(得分:4)

您可以通过执行以下操作来比较其内容:

Arrays.equals(byteArrayOutputStream1.toByteArray(), byteArrayOutputStream2.toByteArray());

如果内容很大,您可以像OutputStream方法一样设置其内容write,但如果您的预期值较小,则更好的方法是将内容放入String变量然后执行下一个测试,而不是前一个测试:

Arrays.equals(expectedContent.getBytes(myCharset), byteArrayOutputStream2.toByteArray());