Gtest——常用断言

发布时间 2023-04-18 14:35:20作者: 爱喝拿铁

GTest 中断言的宏可以分为两类:
ASSERT_* 的断言:当检查点失败时,退出当前函数;
EXPECT_* 的断言:当检查点失败时,继续往下执行,最后在结果中输出期望值和实际值。

一般 EXPECT_* 更常用,它可以输出测试的多个失败,常用的断言如下,包括布尔类型、整数类型、浮点类型、字符串等。

1、真假判断

EXPECT_TRUE(ret):ret == true
EXPECT_FALSE(ret):ret == false

2、等于不等于

EXPECT_EQ(expected, actual):expected == actual
EXPECT_NE(expected, actual):expected != actual
EXPECT_FLOAT_EQ(expected, actual):(float)expected == actual
EXPECT_DOUBLE_EQ(expected, actual):(double)expected == actual
EXPECT_NEAR(var1, var2, tol):abs(var1 - var2) <= tol

当判断浮点数时,推荐使用后三个。

3、大于小于

EXPECT_LT(var1, var2):var1 < var2
EXPECT_GT(var1, var2):var1 > var2
EXPECT_LE(var1, var2):var1 <= var2
EXPECT_GE(var1, var2):var1 >= var2

4、字符串判断

EXPECT_STREQ(s1, s2):s1 == s2
EXPECT_STRNE(s1, s2):s1 != s2
EXPECT_STRCASEEQ(s1, s2):s1 == s2
EXPECT_STRCASENE(s1, s2):s1 != s2

其中,最后的 EXPECT_STRCASEEQ,表示两个字符串字母全部转换为大小或者小写后相同;

EXPECT_STRCASENE,表示两个字符串字母全部转换为大小或者小写后不相同。即不区分大小写的判断。