Google Test语法教程 基础篇(一)

我的网站是 https://ctestcode.cn   ,有许多非常好用的C语言开发工具。
大家可以关注我的公众号 ctestcode 交流更多的C 语言开发的经验。

Google Test语法教程 基础篇(一)

程序员对C语言 C++,进行代码单元测试,最受欢迎的是使用Google Test框架。gtest语法灵活,高效,github上颇有人气。这篇文章将介绍gtest的基础的语法。google官方也有英文文档,但实战例子很少,
开发人员想自学使用也要花不少的精力,本文将结合实际代码,进行实战练习和演示。
 

语法: EXPECT_TRUE   期待值为真
使用场景: 真/假的条件进行判定 判定

//期待value等于2
EXPECT_TRUE(value==2);

语法: ASSERT_TRUE, 确保值为真,如果失败时,测试case会直接退出,而EXPECT_TRUE则不会。

终止断言普通判定验证
ASSERT_TRUE(条件);EXPECT_TRUE(条件);验证条件为真
ASSERT_FALSE(条件);EXPECT_FALSE(条件);验证条件为假

语法: EXPECT_EQ 期待值相等
使用场景:对数值条件进行比较判定

 

//期待b等于3
int b=3;  
EXPECT_EQ(b,3);  
终止断言普通判定验证
ASSERT_EQ(val1, val2);EXPECT_EQ(val1, val2);val1 == val2
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

语法:EXPECT_STREQ 字符串比较

//期待GetValueStr返回值等于 字符串"TEST0"
EXPECT_STREQ(GetValueStr(),"TEST0");  
Fatal assertionNonfatal assertionVerifies
ASSERT_STREQ(str1,str2);EXPECT_STREQ(str1,str2);the two C strings have the same content
ASSERT_STRNE(str1,str2);EXPECT_STRNE(str1,str2);the two C strings have different contents
ASSERT_STRCASEEQ(str1,str2);EXPECT_STRCASEEQ(str1,str2);the two C strings have the same content, ignoring case
ASSERT_STRCASENE(str1,str2);EXPECT_STRCASENE(str1,str2);the two C strings have different contents, ignoring case

语法: EXPECT_FLOAT_EQ  浮点数比较

//期待GetValueFloat 返回值等于3.1
EXPECT_FLOAT_EQ(GetValueFloat(),3.1);  

语法: EXPECT_NEAR  浮点数范围比较
使用场景: 判断浮点数在某范围内

//期待GetValueFloat返回值,在2.9和3.9之间
EXPECT_NEAR(GetValueFloat(1),3.4,0.5); 

浮点数比较特殊,必须使用浮点数宏进行比较

Fatal assertionNonfatal assertionVerifies
ASSERT_FLOAT_EQ(val1, val2);EXPECT_FLOAT_EQ(val1, val2);the two float values are almost equal
ASSERT_DOUBLE_EQ(val1, val2);EXPECT_DOUBLE_EQ(val1, val2);the two double values are almost equal

下面的宏,可以进行浮点数范围比较

Fatal assertionNonfatal assertionVerifies
ASSERT_NEAR(val1, val2, abs_error);EXPECT_NEAR(val1, val2, abs_error);the difference between val1 and val2 doesn't exceed the given absolute error

基础语法介绍完毕,内容精炼,记住这些,就已经足够进行基础的代码单元测试,进行逻辑判断验证。

  • 7
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Google Test(简称gtest)是由Google开发的一个C++测试框架,用于编写和运行单元测试、集成测试和功能测试。下面是一个简单的使用教程: 步骤1:下载和安装Google Test库 你可以从Google Test的官方仓库(https://github.com/google/googletest)下载最新的源代码。将源代码放在你的项目目录中,并将其编译为可执行文件或库。 步骤2:创建测试文件 在你的项目中创建一个新的测试文件,通常以"_test.cc"为后缀。例如,你可以创建一个名为"mytest_test.cc"的文件。 步骤3:编写测试用例 在测试文件中,你可以使用TEST宏定义来定义一个测试用例。一个测试用例可以包含多个测试。例如: ```cpp #include <gtest/gtest.h> TEST(MyTestSuite, Test1) { // 测试代码 ASSERT_EQ(2 + 2, 4); } TEST(MyTestSuite, Test2) { // 测试代码 ASSERT_TRUE(true); } ``` 步骤4:编写测试代码 在每个测试用例中,你可以使用Google Test提供的断言宏来编写测试代码。常用的断言有ASSERT_EQ、ASSERT_TRUE、ASSERT_FALSE等,用于对表达式进行断言判断。 步骤5:运行测试 编译并运行你的测试代码。Google Test会自动运行所有的测试用例,并输出测试结果。 以上是Google Test的基本使用教程,你可以根据需要深入学习和使用更多的功能和特性。更详细的文档和示例可以在Google Test的官方网站(https://github.com/google/googletest)上找到。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值