为了方便程序员测试,市面上有很多的工具,谷歌公司出品的gtest就是其中的一种。
下面介绍一下:
首先就是这三个部分,
1、先需要包含gtest的头文件
2、需要写里面最重要的一部分,也就是TEST宏的书写
(1)TEST宏有两个参数,TEST(testcasename, test_name)
(2)TEST宏中可以写任何c++的合法语句
(3)是要美好gtest提供的断言(ASSERT和EXPECT来判定测试结果)
3、主函数只有有了这个程序才能正常测试
理解testcase和test
本质就是归类,把一组有关联的test放到一个testcase中
测试宏
ASSERT_系列:如果检测失败,退出当前测试
EXPECT_系列:如果检测失败继续往下跑
通过operator<<能够在失败是打印需要的日志
基础断言
双目比较:
字符串比较
死亡测试:
验证程序非法输入的情况下是否会符合预期的挂掉
仍然使用TEST宏
ASSERT_DEATH(statement, regex);
EXPECT_DEATH(statement, regex);
程序挂了,且错误信息(stderr的输出)和regex匹配,认为测试通过,如果regex参数为空字符串,则只看程序挂没挂掉就可以了,testcasename应该使用“DeathTest”作为后缀,gtest识别到会优先执行
例如:
最后看一下测试通过的样子是什么样子吧
如果你的测试通过就会显示绿色就像图中一样
但是如果测试不通过就会像这个样子:
就会出现红色字体,仔细观察就能发现错误信息也在里面给出了,这样就能很方便我们去改正。
【一点补充】单元测试gtest
最新推荐文章于 2024-06-14 22:22:39 发布