gtest学习之断言

gtest中,断言的宏可以理解分为两类:一类是ASSERT系列,另一类是EXPECT系列。

ASSERT系列的断言----当检查点失败时,退出当前函数;

EXPECT系列的断言----当检查点失败时,继续往下执行。

样例:

//int型比较,预期值:3,实际值:Add(1, 2)
EXPECT_EQ(3, Add(1, 2)
如果Add(1, 2)的结果为5时,会在结果中输出:
g:\myproject\c++\gtestdemo\gtestdemo\gtestdemo.cpp(16): error: Value of: Add(1, 2)
Actual: 4
Expected:3


布尔值检查的宏:
Fatal assertionNonfatal assertionVerifies
ASSERT_TRUE(condition)EXPECT_TRUE(condition)condition is TRUE
ASSERT_FALSE( condition)EXPECT_FALSE(condition)condition is FALSE

数值型数据检查:

Fatal assertion
Nonfatal assertion
Verifies
ASSERT_EQ(expectedactual)
EXPECT_EQ(expectedactual)
expected == actual
ASSERT_NE(val1val2)
EXPECT_NE(val1val2)
val1 != val2
ASSERT_LT(val1val2)
EXPECT_LT(val1val2)
val1 < val2
ASSERT_LE(val1val2)
EXPECT_LE(val1val2)
val1 <= val2
ASSERT_GT(val1val2)
EXPECT_GT(val1val2)
val1 > val2
ASSERT_GE(val1val2)
EXPECT_GE(val1val2)
val1 >= val2

字符串检查:

Fatal assertion
Nonfatal assertion
Verifies
ASSERT_STREQ(expected_stractual_str)
EXPECT_STREQ(expected_stractual_str)
the two C strings have the same content
ASSERT_STRNE(str1str2)
EXPECT_STRNE(str1str2)
the two C strings have different content
ASSERT_STRCASEEQ(expected_stractual_str)
EXPECT_STRCASEEQ(expected_stractual_str)
the two C strings have the same content, ignoring case
ASSERT_STRCASENE(str1str2)
EXPECT_STRCASENE(str1str2)
the two C strings have different content, ignoring case

显示返回成功或失败

Fatal assertion
Nonfatal assertion
FAIL()
ADD_FAILURE()

异常检查:

Fatal assertionNonfatal assertionVerifies
ASSERT_THROW(statementexception_type)EXPECT_THROW(statementexception_type)statement throws an exception of the given type
ASSERT_ANY_THROW(statement)EXPECT_ANY_THROW(statement)statement throws an exception of any type
ASSERT_NO_THROW(statement)EXPECT_NO_THROW(statement)statement doesn't throw any exception

检查浮点数:

Fatal assertionNonfatal assertionVerifies
ASSERT_FLOAT_EQ(expected, actual)EXPECT_FLOAT_EQ(expected, actual)the two float values are almost equal
ASSERT_DOUBLE_EQ(expected, actual)EXPECT_DOUBLE_EQ(expected, actual)the two double values are almost equal


Windows HRESULT assertions

Fatal assertionNonfatal assertionVerifies
ASSERT_HRESULT_SUCCEEDED(expression)EXPECT_HRESULT_SUCCEEDED(expression)expression is a success HRESULT
ASSERT_HRESULT_FAILED(expression)EXPECT_HRESULT_FAILED(expression)expression is a failure HRESULT




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值