GoogleTest.断言

1. 断言介绍

一般学习Google测试框架先从断言开始。

断言可以理解为:判断条件为真或者假

断言的结果有3种:

成功 (success)

非致命错误 (nonfatal failure)

致命错误 (fatal failure)

如果发生将终止当前测试函数,如果只是发生程序不会终止,会继续运行下去。

在断言结果为failure后加入一句打印输出,非致命错误可以将该句输出。

nonfatal_failure

而致命错误将终止整个函数,而不会运行到该句。

fatal_failure

2. 真假断言

例如:

注意:只要一个测试用例失败(例如:一句失败,整个包含测试用例的函数即为失败)

3. 值对比

当发生错误之后, Google Test 将打印 val1 和val2。值比较必须使用断言的比较操作,不然会出现编译错误。

可以使用增加打印信息。需要更多详细的自定义打印可以看 Google Mock

增加打印信息

自定义类型也可以进行比较,但是需要实现其比较操作符。比如类的。

传入的如果是指针,比较的是指针的值,也就是其指向的地址。

所以:如果要比较C类型的字符串(C string/const char*),实际上比较的是两个地址是否相同,而不是字符串是否相同。如果要比较字符串是否相同,需要使用

断言两个C类型字符串为NULL,使用,但是判断两个string对象,可以使用

4. 字符串对比

,如果要对比string对象使用, …

忽略大小写

参考

官方文档

https://github.com/google/googletest/blob/master/googletest/docs/Primer.md

Google C++测试框架系列:入门

https://www.cnblogs.com/panda_lin/p/gtest_primer.html

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180524G0FPX600?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券