测试集合的相等性而不显示不匹配

时间:2015-08-19 08:54:46

标签: c++ unit-testing boost

我正在使用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);

到目前为止一切正常。唯一的问题是,我不想表现出每一个不匹配。当文件不同时,就会出现差异,所有二进制值都不是很有趣。基本上我只想知道,如果这些文件相同或不相同。我能以某种方式以某种方式抑制不匹配的打印吗?

1 个答案:

答案 0 :(得分:2)

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