如何将文件与Boost.Test进行比较?

时间:2013-02-22 10:31:06

标签: c++ unit-testing boost

我需要比较两个文件。 我会用这样的东西

BOOST_REQUIRE_EQUAL(filename1, filename2);

3 个答案:

答案 0 :(得分:9)

您可以使用BOOST_CHECK_EQUAL_COLLECTIONS来比较文件内容。

代码示例:

#define BOOST_TEST_MAIN
#include <boost/test/unit_test.hpp>

#include <fstream>
#include <iterator>

BOOST_AUTO_TEST_CASE( test )
{
    std::ifstream ifs1("data1.txt");
    std::ifstream ifs2("data2.txt");

    std::istream_iterator<char> b1(ifs1), e1;
    std::istream_iterator<char> b2(ifs2), e2;

    BOOST_CHECK_EQUAL_COLLECTIONS(b1, e1, b2, e2);
}

答案 1 :(得分:3)

文件?阅读并比较内容。

答案 2 :(得分:-1)

我会比较两个文件的哈希值。 使用openssl库计算哈希值的例子很多。