我试图使用升压单元测试套件。
#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
关于如何修复它的任何想法?
答案 0 :(得分:1)
显然,要么
Logger()
无法打开输出位置进行写入;的 或 强> compare
函数,检查您传递的文件/路径是否存在。尝试评论内容,直到找到罪魁祸首。如果Boost产生异常,通常会提供更广泛的异常信息。否则,源代码或strace
之类的技巧可以告诉你发生了什么。