boost.test在DLL工程的单元测试如何启动
作者:网络转载 发布时间:[ 2013/8/28 17:22:19 ] 推荐标签:
很显然这种方式不好,须手动添加测试方法,而且得自己写一个测试程序
2. 使用 console_test_runner.exe
console_test_runner.exe是boost自带的工具,使用这个工具须先编译
1). 如果有编译好的 bjam
2). 在命令模式下编译 console_test_runner,命令为:bjam libs est oolsconsole_test_runner
3). 将生成的 console_test_runner.exe和boost_unit_test_framework-vc80-mt-gd-1_51.dll 拷贝到你的工作目录中
4). 因为要处理应用程序与 dll 中的共享问题,在你的dll中须要添加宏 BOOST_TEST_DYN_LINK,并在 dll 工程中 引入 boost_unit_test_framework-vc80-mt-gd-1_51.lib
5). 通过命令: console_test_runner.exe --test xxx.dll 测试你的工程
这样可以在 dll 中写自动加载的测试用列了
// dll中
BOOST_AUTO_TEST_CASE( test1 )
{
int i = 0;
BOOST_CHECK_EQUAL( i, 2 );
}
BOOST_AUTO_TEST_CASE( test2 )
{
BOOST_CHECKPOINT("About to force division by zero!");
int i = 1, j = 0;
i = i / j;
}
extern "C" {
#ifdef BOOST_WINDOWS
declspec(dllexport)
#endif bool init_unit_test()
{
framework::master_test_suite().p_name.value = "Test runner test";
return true;
}
}

sales@spasvo.com