我正在使用BOOST_REQUIRE_EQUAL_COLLECTIONS测试两个文件(图像)的相等性。

当前代码是:

ifstream ifs1(path1, ios_base::binary);
ifstream ifs2(path2, ios_base::binary);
istream_iterator<char> b1(ifs1), e1;
istream_iterator<char> b2(ifs2), e2;

BOOST_CHECK_EQUAL_COLLECTIONS(b1, e1, b2, e2);

到目前为止,它工作正常。唯一的问题是,我不想显示所有不匹配之处。当文件不同时,会有成千上万的差异,所有二进制值都不是很有趣。基本上,我只想知道这些文件是否相同。我能以某种方式抑制不匹配的打印吗?

最佳答案

您可以设置log level进行测试,但是没有这样的level可以帮助您。我认为最好的变体是将BOOST_CHECKstd::equal一起使用。

关于c++ - 测试集合是否相等而不显示不匹配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32090811/

10-11 01:04