很显然这种方式不好,须手动添加测试方法,而且得自己写一个测试程序

  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;
}
}