我正在使用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_CHECK
与std::equal
一起使用。
关于c++ - 测试集合是否相等而不显示不匹配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32090811/