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
领取专属 10元无门槛券
私享最新 技术干货