我正在为生成Excel文件(二进制文件)的某些代码编写JUnit测试。我还有另一个包含预期输出的Excel文件。将实际文件与预期文件进行比较的最简单方法是什么?
当然,我可以自己编写代码,但是我想知道在受信任的第三方库(例如Spring或Apache Commons)中是否已有这样做的方法。
这就是我最终要做的(由DBUnit完成繁重的工作):
/** * Compares the data in the two Excel files represented by the given input * streams, closing them on completion * * @param expected can't be <code>null</code> * @param actual can't be <code>null</code> * @throws Exception */ private void compareExcelFiles(InputStream expected, InputStream actual) throws Exception { try { Assertion.assertEquals(new XlsDataSet(expected), new XlsDataSet(actual)); } finally { IOUtils.closeQuietly(expected); IOUtils.closeQuietly(actual); } }
这将比较两个文件中的数据,没有任何可能不同的不相关元数据造成误报的风险。希望这对某人有帮助。