【问题标题】:Test equality of collections without showing mismatches测试集合的相等性而不显示不匹配
【发布时间】:2015-08-19 08:54:46
【问题描述】:

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

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

【问题讨论】:

  • Boost 说“此工具显示集合中所有不匹配的元素。”
  • 为什么不将 BOOST_CHECK 与 std::equal 一起使用?

标签: c++ unit-testing boost


【解决方案1】:

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

【讨论】:

  • 谢谢,正是我想要的。
猜你喜欢
  • 1970-01-01
  • 2018-09-27
  • 1970-01-01
  • 1970-01-01
  • 2021-09-24
  • 2021-10-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多