• googleTest V1.12.1的基础用法


    googleTest V1.12.1的基础用法

    概述

    googleTest V1.12.1已经编译过了 build googleTest V1.12.1 by vs2022, 建立了测试工程(vs2022 c++ 控制台工程).

    现在整理一下这个版本(googleTest)基础用法.

    文档不看了, 就拿这个版本自带的例子代码(Z:\googletest\samples)结合上个笔记建立好的测试工程看一下.

    实验

    包含头文件和库文件

    #include "gtest/gtest.h"
    #pragma comment(lib, "gtest.lib")
    
    • 1
    • 2

    测试宏

    测试宏的样子 TEST(caseName, testName)
    TEST(case的名字, test的名字) {
    	不定行数量的的逻辑测试表达式, 都在gtest.h中有定义
    	e.g. EXPECT_EQ(左表达式, 右表达式);
    	EXPECT_X测试失败了, 还会执行下一个EXPECT_X
    	
    	gtest.h中定义的逻辑测试表达式如下
    	EXPECT_EQ(val1, val2) // 逻辑测试(==), 2个参数
    	EXPECT_NE(val1, val2) // 逻辑测试(!=), 2个参数
    	EXPECT_LE(val1, val2) // 逻辑测试(<=), 2个参数
    	EXPECT_LT(val1, val2) // 逻辑测试(<), 2个参数
    	EXPECT_GE(val1, val2) // 逻辑测试(>=), 2个参数
    	EXPECT_GT(val1, val2) // 逻辑测试(>), 2个参数
    	EXPECT_FALSE(val1) // 逻辑测试(is false), 1个参数
    	EXPECT_TRUE(val1) // 逻辑测试(is true), 1个参数
    	EXPECT_STREQ(val1, val2) // 测试字符串(char*)是否相等, 2个参数 e.g. EXPECT_STREQ(nullptr, s.c_string());
    	
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    googleTest库的初始化

    int main(void)
    {
    	testing::InitGoogleTest(); // must call this before RUN_ALL_TESTS !
    	RUN_ALL_TESTS();
    	return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    googleTest高级用法

    重载googleTest框架函数
    
    监听googleTest处理过程
    
    ...
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    对于googleTest自带例子中的高级用法, 不感兴趣.

    根据28原则, 会使用googleTest基础用法, 就能解决单元测试的大部分实际问题了.

    END

  • 相关阅读:
    单链表(2)
    资源道具化
    Flutter 全能型选手GetX —— 状态管理
    Python控制结构之for循环I
    丁鹿学堂:前端异步进阶之Rxjs的使用
    EternalBlue 永恒之蓝 SMB 漏洞底层实现介绍
    用友BIP 安装配置专业脚手架开发工具(图文)
    【CVAdd】Filter 滤波器
    【Agent模型1】MemGPT: Towards LLMs as Operating Systems
    leetcode练习
  • 原文地址:https://blog.csdn.net/LostSpeed/article/details/126856791