Я пытаюсь использовать пакет буст-тестов.
#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
есть идеи как это исправить?
Видимо, либо
Logger()
не могу открыть место вывода для записи; или жеcompare
проверяемая функция проверяет наличие файлов / путей, которые вы передаете.Попробуйте комментировать, пока не найдете виновника. Если исключение возникает из Boost, обычно доступна более обширная информация об исключении. В противном случае, исходный код, или, возможно, трюки, такие как strace
могу рассказать вам, что происходит
Других решений пока нет …