boost test、google test、google benchmark使用

一、boost test

提供基于命令行的单元测试套件:Unit Test FrameWork,还可以检测内存泄漏,程序运行监控功能。

#include

链接两个需要编译的库:boost_unit_test_framework、boost_test_exec_monitor

功能:

组织测试套,测试用例

各种测试断言

显示测试进度

测试报告多种格式,如xml

命令行可以指定运行测试套和测试用例

监控程序运行

1. 测试断言

断言测试失败,会记录出错文件名、行号、错误信息

命名规则:BOOST_LVL(WARNING\CHECK\REQUIRE)_XXX

WARNING不增加错误数

CHECK增加错误数,但不终止程序

REQUIRE增加错误数并终止程序

XXX:相等,不等,抛出,不抛出异常,大于,小于

BOOST_LVL_EQUAL(1,r):检测1==r,不能用于浮点数比较

BOOST_LVL_CLOSE:浮点数比较

BOOST_LVL_GE(1,r): 检测1>=r, GT(1>r),LT(1

BOOST_LVL_THROW(e,ex): 检测表达式e抛出指定的ex异常

BOOST_LVL_NO_THROW(e): 检测表达式e不抛出任何异常

BOOST_LVL_MESSAGE(e,msg): 失败给出指定消息

BOOST_TEST_MESSAGE(msg): 输出通知信息,不含有任何警告或者错误

2. 测试套与测试用例

BOOST_AUTO_TEST_SUITE(s_suite1)

BOOST_AUTO_TEST_CASE(t_case1)

{

    BOOST_CHECK_EQUAL(1,1);

}

BOOST_AUTO_TEST_CASE(t_case2)

{

    BOOST_CHECK_EQUAL(5,10/2);

}

BOOST_AUTO_TEST_SUITE_END()

测试套件是测试用例的容器,包含一个或多个测试用例,测试套可以嵌套

二、google test

三、google benchmark

你可能感兴趣的:(工具类,c++)