Unit testing 使用我自己的主功能运行Boost单元测试以进行调试

Unit testing 使用我自己的主功能运行Boost单元测试以进行调试,unit-testing,boost,boost-test,Unit Testing,Boost,Boost Test,我有一个库,里面有一些使用Boost.Test编写的测试程序。测试文件没有\define BOOST\u test\u DYN\u链接或\include。他们只有#include。因此,main()函数并不隐式存在 现在我必须调试一些在测试用例中使用的库函数。鉴于我不能在测试程序中添加或更改任何内容,我如何在调试器下调用测试程序?创建一个测试运行程序(例如,main\u test.cpp)并将您的库与之链接 # main_test.cpp // --- Boost Includes --- #d

我有一个库,里面有一些使用
Boost.Test
编写的测试程序。测试文件没有
\define BOOST\u test\u DYN\u链接
\include
。他们只有
#include
。因此,
main()
函数并不隐式存在

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

创建一个测试运行程序(例如,
main\u test.cpp
)并将您的库与之链接

# main_test.cpp
// --- Boost Includes ---
#define BOOST_TEST_DYN_LINK
#include <boost/test/unit_test.hpp>
#main_test.cpp
//---包括---
#定义BOOST\u TEST\u DYN\u链接
#包括
调用生成的可执行文件应该运行测试。然后,您可以使用
/myrunner--run\u test='some\u testsuite'/../some\u testname'
调用运行程序来调试各个测试

创建一个测试运行程序(例如,
main\u test.cpp
)并将您的库与之链接

# main_test.cpp
// --- Boost Includes ---
#define BOOST_TEST_DYN_LINK
#include <boost/test/unit_test.hpp>
#main_test.cpp
//---包括---
#定义BOOST\u TEST\u DYN\u链接
#包括

调用生成的可执行文件应该运行测试。然后,您可以使用
/myrunner--run\u test='some\u testsuite'/../some\u testname'
调用运行程序来调试各个测试

如果您不能添加任何内容,那么如何添加自己的
main()
?你说的“程序”意味着产生了一个可执行文件。因此,只需在调试器中像在任何其他可执行文件中一样运行它们(您没有指定平台或工具包,因此我无法向您提供更多详细信息)在这一点上,这个问题是相当混乱的,请详细说明。对不起,我所说的程序是指文件(CPP文件),我无论如何都不允许更改这些CPP文件。没有可执行文件。但我可以创建新文件并编译它们以生成可执行文件,这正是我的问题,我如何才能做到这一点?顺便说一句,我在ubuntu上使用QtCreator作为IDE,g++4.8。该框架似乎已被使用-因此只需按照这些说明来制作测试运行程序。如果您无法添加任何内容,那么您将如何添加自己的
main()
?你说的“程序”意味着产生了一个可执行文件。因此,只需在调试器中像在任何其他可执行文件中一样运行它们(您没有指定平台或工具包,因此我无法向您提供更多详细信息)在这一点上,这个问题是相当混乱的,请详细说明。对不起,我所说的程序是指文件(CPP文件),我无论如何都不允许更改这些CPP文件。没有可执行文件。但我可以创建新文件并编译它们以生成可执行文件,这正是我的问题,我如何才能做到这一点?顺便说一句,我正在ubuntu上使用QtCreator作为IDE,g++4.8。这个框架似乎已经被使用了,所以只需按照这些说明来制作测试运行程序。