【一点补充】单元测试gtest

 为了方便程序员测试,市面上有很多的工具,谷歌公司出品的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识别到会优先执行
例如:
在这里插入图片描述
最后看一下测试通过的样子是什么样子吧
在这里插入图片描述
如果你的测试通过就会显示绿色就像图中一样
但是如果测试不通过就会像这个样子:
在这里插入图片描述
就会出现红色字体,仔细观察就能发现错误信息也在里面给出了,这样就能很方便我们去改正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GTest是Google Test的简称,是一个功能强大的C++单元测试框架。它提供了丰富的断言和测试工具,可以方便地编写、运行和管理测试用例。 首先,我们需要下载并安装GTest框架。GTest可以从官方网站下载并编译安装,也可以使用包管理工具进行安装。安装完成后,我们就可以在自己的项目中使用GTest进行单元测试了。 在编写测试用例时,我们需要在一个类中定义多个测试函数。每个测试函数都应该以"TEST"宏开始,并且应该在测试函数中使用多个断言来验证被测试代码的行为。例如,我们可以使用"EXPECT_EQ"断言来验证两个值是否相等。当测试函数执行完毕时,我们可以使用"ASSERT_"宏来检查测试是否通过。 GTest还提供了一些高级功能,例如测试夹具(Test Fixture)和参数化测试(Parameterized Test)等。测试夹具可以帮助我们在测试函数之前和之后执行一些共享的设置和清理操作。参数化测试可以使得我们在一组测试数据上运行相同的测试代码,以验证被测试代码在不同输入条件下的行为。 在运行测试时,我们可以使用GTest提供的命令行工具来执行测试用例。它会输出每个测试函数的执行结果以及总体的测试统计信息。我们也可以在IDE中集成GTest,并通过点击运行按钮来执行测试。 总之,GTest是一个非常强大和方便的单元测试框架,可以帮助我们编写高质量的测试用例并验证被测试代码的正确性。通过充分利用GTest提供的功能,我们可以玩转Google单元测试框架,提升软件开发的质量和效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值