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 E...
二、gtest系列之断言gtest中断言的宏可以分为两类:一类是ASSERT宏,另一类就是EXPECT宏了。 1、ASSERT_系列:如果当前点检测失败则退出当前函数 2、EXPECT_系列:如果当前点检测失败则继续往下执行 如果你对自动输出的错误信息不满意的话,也是可以通过operator<<能够在失败的时候打印日志,将一些自定义的信息输出。 ASSERT...
3. EXPECT_LT:预期第一个值小于第二个值。如果第一个值不小于第二个值,gtest会记录一个错误,但不会立即停止当前的测试。 4. EXPECT_LE:预期第一个值小于或等于第二个值。如果第一个值大于第二个值,gtest会记录一个错误,但不会立即停止当前的测试。 5. EXPECT_GT:预期第一个值大于第二个值。如果第一个...
=actualEXPECT_FLOAT_EQ(expected,actual):(float)expected==actualEXPECT_DOUBLE_EQ(expected,actual):(double)expected==actualEXPECT_NEAR(var1,var2,tol):abs(var1-var2)<=tol 当判断浮点数时,推荐使用后三个。 3、大于小于 EXPECT_LT(var1,var2):var1var2EXPECT_LE(var1,var2):var1<=var2EXPECT_G...
| ASSERT_GE(val1, val2); | EXPECT_GE(val1, val2); | val1 >= val2 | 例如:在`ASSERT_GT(val1, val2)`中,只有当`val1 > val2`时,符合断言,不影响执行;当`val1 <= val2`时, 不符合断言,且由于是`ASSERT`,当前执行中断。
gtest中断言的宏可以分为两类:一类是ASSERT宏,另一类就是EXPECT宏了。 1、ASSERT_系列:如果当前点检测失败则退出当前函数 2、EXPECT_系列:如果当前点检测失败则继续往下执行 如果你对自动输出的错误信息不满意的话,也是可以通过operator<<能够在失败的时候打印日志,将一些自定义的信息输出。
ASSERT_GT(val1, val2); EXPECT_GT(val1, val2); val1 > val2 ASSERT_GE(val1, val2); EXPECT_GE(val1, val2); val1 >= val2 5.字符串检查 Fatal assertionNonfatal assertionVerifies ASSERT_STREQ(expected_str, actual_str); EXPECT_STREQ(expected_str, actual_str); the two C strings hav...
EXPECT_GT(29, val);//29大于val则测试通过(非致命断言) EXPECT_GE(29, val);//29大于等于val则测试通过(非致命断言) EXPECT_TRUE(val == 28) << "val is not equal to 28";//val == 28结果为false,输出后面日志(非致命断言) } 1.
Gtest中,断言的宏可以理解为分为两类,一类是ASSERT系列,一类是EXPECT系列。 ASSERT_*系列的断言(Fatal assertion),当检查点失败时,退出当前函数(注意:并非退出当前案例)。 EXPECT_*系列的断言(Nonfatal assertion),当检查点失败时,继续执行下一个检查点(每一个断言表示一个测试点)。
在写单元测试时,更加倾向于使用EXPECT_XXX,因为ASSERT_XXX是直接crash退出的,可能会导致一些内存、文件资源没有释放,因此可能会引入一些bug。 具体的EXPECT_XXX、ASSERT_XXX函数及其判断条件,如下两个表。 表1 一元比较 表2 二院比较 Quick Start 下面以EXPECT_XXX为例子,快速开始使用gtest吧。