0

我正在尝试使用 boost 单元测试套件。

#define BOOST_TEST_DYN_LINK
#define BOOST_TEST_MODULE main_test_module

#include <boost/test/unit_test.hpp>
#include <boost/test/unit_test_suite.hpp>

.... // introducing some functions and variables here

BOOST_AUTO_TEST_CASE(fileComparatorTestCase)
{
Logger() << "Testing file comparator";

bool res;
res = compare(file1Path, file1Path);
BOOST_REQUIRE_EQUAL(res, true);
res = compare(file2Path, file2Path);
BOOST_REQUIRE_EQUAL(res, true);
res = compare(file1Path, file3Path);
BOOST_REQUIRE_EQUAL(res, false);
res = compare(file1Path, file2Path);
BOOST_REQUIRE_EQUAL(res, false);

Logger() << "Ended testing file comparator";
}

我还链接了 boost_unit_test_framework 库。这段代码编译得很好,但是当我尝试运行 testrunner 时,它失败并出现以下错误:

Running 1 test case...
unknown location(0): fatal error in "fileComparatorTestCase": std::exception: No such file or directory

关于如何解决它的任何想法?

4

1 回答 1

1

显然,无论是

  • Logger()无法打开输出位置进行写入;或者
  • 您正在测试的compare功能会检查您传递的文件/路径是否存在。

尝试评论内容,直到找到罪魁祸首。如果异常是由 Boost 引起的,通常会提供更广泛的异常信息。否则,源代码或诸如此类的技巧strace可以告诉您正在发生的事情。

于 2014-04-01T21:39:30.453 回答