gtest学习之断言
来源:互联网 发布:软件需求分析阶段 编辑:程序博客网 时间:2024/05/21 08:59
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: 4Expected:3
Fatal assertionNonfatal assertionVerifiesASSERT_TRUE(condition)EXPECT_TRUE(condition)condition is TRUEASSERT_FALSE(condition)EXPECT_FALSE(condition)condition is FALSE
数值型数据检查:
Fatal assertion
Nonfatal assertion
Verifies
ASSERT_EQ(expected, actual)
EXPECT_EQ(expected, actual)
expected == actual
ASSERT_NE(val1, val2)
EXPECT_NE(val1, val2)
val1 != val2
ASSERT_LT(val1, val2)
EXPECT_LT(val1, val2)
val1 < val2
ASSERT_LE(val1, val2)
EXPECT_LE(val1, val2)
val1 <= val2
ASSERT_GT(val1, val2)
EXPECT_GT(val1, val2)
val1 > val2
ASSERT_GE(val1, val2)
EXPECT_GE(val1, val2)
val1 >= val2
字符串检查:
Fatal assertion
Nonfatal assertion
Verifies
ASSERT_STREQ(expected_str, actual_str)
EXPECT_STREQ(expected_str, actual_str)
the two C strings have the same content
ASSERT_STRNE(str1, str2)
EXPECT_STRNE(str1, str2)
the two C strings have different content
ASSERT_STRCASEEQ(expected_str, actual_str)
EXPECT_STRCASEEQ(expected_str, actual_str)
the two C strings have the same content, ignoring case
ASSERT_STRCASENE(str1, str2)
EXPECT_STRCASENE(str1, str2)
the two C strings have different content, ignoring case
显示返回成功或失败
Fatal assertionNonfatal assertion
FAIL()
ADD_FAILURE()
异常检查:
Fatal assertionNonfatal assertionVerifiesASSERT_THROW(statement, exception_type)EXPECT_THROW(statement, exception_type)statement throws an exception of the given typeASSERT_ANY_THROW(statement)EXPECT_ANY_THROW(statement)statement throws an exception of any typeASSERT_NO_THROW(statement)EXPECT_NO_THROW(statement)statement doesn't throw any exception
检查浮点数:
Fatal assertionNonfatal assertionVerifiesASSERT_FLOAT_EQ(expected, actual)EXPECT_FLOAT_EQ(expected, actual)the two float values are almost equalASSERT_DOUBLE_EQ(expected, actual)EXPECT_DOUBLE_EQ(expected, actual)the two double values are almost equal
Windows HRESULT assertions
Fatal assertionNonfatal assertionVerifiesASSERT_HRESULT_SUCCEEDED(expression)EXPECT_HRESULT_SUCCEEDED(expression)expression is a success HRESULTASSERT_HRESULT_FAILED(expression)EXPECT_HRESULT_FAILED(expression)expression is a failure HRESULT
0 0
- gtest学习之断言
- gtest断言学习
- gtest的断言
- 遇见gtest--断言
- GTest学习之旅第一步
- Jmeter学习之断言
- gtest中的字符串比较断言
- 【转】玩转Google开源C++单元测试框架Google Test系列(gtest)之二 - 断言
- 玩转Google开源C++单元测试框架Google Test系列(gtest)之二 - 断言
- 玩转Google单元测试框架gtest系列之二 - 断言(转载)
- 【转】玩转Google开源C++单元测试框架Google Test系列(gtest)之二 - 断言
- 玩转Google开源C++单元测试框架Google Test系列(gtest)之二 - 断言
- Google C++单元测试框架(Gtest)系列教程之二——断言、函数测试
- 玩转Google开源C++单元测试框架Google Test系列(gtest)之二 - 断言
- 玩转Google开源C++单元测试框架Google Test系列(gtest)之二 - 断言
- 玩转Google开源C++单元测试框架Google Test系列(gtest)之二 - 断言
- 玩转Google开源C++单元测试框架Google Test系列(gtest)之二 - 断言
- 玩转Google开源C++单元测试框架Google Test系列(gtest)之二 - 断言
- spark初始:spark腾讯雅虎优酷成功应用解析
- java就是这样诞生的
- linux_组操作
- leetcode LRU Cache
- Scale horizontally和Scale vertically
- gtest学习之断言
- 推荐Java程序员阅读的书籍
- app-framework学习-----使用jquery
- OLAP中的父子维度
- myeclipse开启后卡死、building workspace缓慢 问题解决
- 护卫神php套件快速搭建本地IIS网站,及解决80端口被封、动态IP甚至无公网IP
- POJ 2485 Highways 最小生成树 (Kruskal)
- createSQLQuery返回对象
- Linux性能统计 - cat /proc/meminfo