使用我自己的main函数运行Boost单元测试进行调试

时间:2016-05-26 08:58:43

标签: unit-testing boost boost-test

我有一个库,其中有一些使用Boost.Test编写的测试程序。测试文件没有#define BOOST_TEST_DYN_LINK#include <boost/test/included/unit_test.hpp>。他们只有#include <boost/test/unit_test.hpp>。所以main()函数不是隐含的。

现在我必须调试一些在测试用例中使用过的库函数。鉴于我不能在测试程序中添加或更改任何内容,如何在调试器下调用测试程序?

1 个答案:

答案 0 :(得分:0)

创建一个测试运行器(例如main_test.cpp)并将您的库链接到该。

# main_test.cpp
// --- Boost Includes ---
#define BOOST_TEST_DYN_LINK
#include <boost/test/unit_test.hpp>

调用生成的可执行文件应运行测试。然后,您可以通过使用./myrunner --run_test='some_testsuite'/../'some_testname'调用运行程序来调试单个测试。