![2e766e8b3623ad8168e7562b849008e2.png](https://i-blog.csdnimg.cn/blog_migrate/92c9aaa2e129d6df862375971b21ac41.jpeg)
GTest 是一套用于编写C++测试的框架,支持很多好用的特性,包括自动识别测试、丰富的断言、生成报告等。
GTest 断言是类似于函数调用的宏。经常使用断言来测试类或函数的功能。当断言失败时,GTest则打印出断言所在的文件、行号,以及失败信息。
判断实际结果与预期结果是否相符的机制称为断言。
GTest 中断言的宏可以分为两类,一类是ASSERT,一类是EXPECT。两者区别在于:
- ASSERT_* 的断言:当检查点失败时,退出当前函数;
- EXPECT_* 的断言:当检查点失败时,继续往下执行,最后在结果中输出期望值和实际值。
一般 EXPECT_* 更常用,它可以输出测试的多个失败,常用的断言如下,包括布尔类型、整数类型、浮点类型、字符串等。
1、真假判断
EXPECT_TRUE(ret):ret == trueEXPECT_FALSE(ret):ret == false