当前位置: 首页 > news >正文

使用 Visual Studio GoogleTest编写 C/C++ 单元测试——入门篇

入门教程

Visual Studio 新建 GoogleTest项目,一路选默认参数在这里插入图片描述
pch.h

#pragma once#include "gtest/gtest.h"int add(int a, int b);

pch.cpp

#include "pch.h"int add(int a, int b)
{return a + b;
}

test.cpp

#include "pch.h"TEST(TestCaseName, TestName) {EXPECT_EQ(4, add(1,3));EXPECT_TRUE(add(1,2)==3);
}

编译运行
在这里插入图片描述
成功

[C++] gtest入门教程

开始尝试google test单元测试工具(又是MTd/MDd搞的鬼!)附带VC运行库详解

对现有解决方案添加GoogleTest项目

在当前解决方案下,新建GoogleTest项目
在这里插入图片描述
引用自己要测试的工程,配置相关属性(C++ 附加包含目录等)

#include "pch.h"
#include "要测试的头文件.h"
SLineProcessor lineProcessor;
TEST(TestCaseName, TestName) {EXPECT_EQ(lineProcessor.bClose, 1);EXPECT_TRUE(true);
}

运行
搞定

如何使用GoogleTest 测试C++重构代码

要使用Google Test来测试C++重构的代码,你可以按照以下步骤进行操作:

  1. 集成Google Test:首先,将Google Test框架集成到你的项目中。可以通过下载Google Test源代码并将其添加到你的项目中,或者使用包管理工具(如vcpkg)进行安装。

  2. 创建测试文件:为每个需要测试的模块创建对应的测试文件。通常,测试文件的命名约定是在源文件的基础上添加"_test"后缀。

  3. 编写测试用例:在测试文件中,使用Google Test提供的宏和断言来编写测试用例。例如,使用TEST()宏定义一个测试用例,并在其中使用断言宏(如EXPECT_EQ()ASSERT_TRUE()等)进行期望结果的验证。

  4. 使用Google Test框架的断言:Google Test提供了许多断言宏来帮助验证测试结果是否符合预期。这些断言宏可以比较值、判断异常情况、检查容器等等。详细的断言列表和用法可以在Google Test文档中找到。

  5. 运行测试:使用适当的命令行工具或集成到IDE中的插件来运行测试。一般情况下,你需要提供可执行文件名称,并指定运行测试的参数,如过滤器(指定要运行的特定测试用例)和输出结果的格式。

  6. 分析测试结果:查看测试结果报告,了解哪些测试通过,哪些失败。如果有失败的测试,查看详细错误信息以帮助定位问题。

  7. 修复问题:根据失败的测试用例和错误信息,找出导致失败的原因,并修复代码中的问题。确保修复后再次运行单元测试以确认问题已解决。

总之,使用Google Test测试重构的C++代码与以前一样,你只需在新的测试文件中重新编写测试用例,使用Google Test提供的断言宏来验证测试结果即可。这样可以确保重构后的代码仍然能够通过相同的测试用例,并保持代码的质量和稳定性。

chatgpt生成

http://www.lryc.cn/news/125397.html

相关文章:

  • Linux下TA_Lib安装失败的问题处理
  • egg.js企业级web框架
  • 小说网站第二章-关于文章的上传的实现
  • Java面试题01
  • 6.3 社会工程学攻击
  • typeScript 之 Map
  • Apache Doris 入门教程29:文件管理器
  • 【佳佳怪文献分享】MVFusion: 利用语义对齐的多视角 3D 物体检测雷达和相机融合
  • word 应用 打不开 显示一直是正在启动中
  • Flink-----Yarn应用模式作业提交流程
  • Python学习笔记_基础篇(五)_数据类型之字典
  • 【第三阶段】kotlin语言的安全调用操作符
  • 机器学习重要内容:特征工程之特征抽取
  • Logic 2逻辑分析器捉到的CAN帧
  • 手机的发展历史
  • 为什么要分库分表?
  • Unity游戏源码分享-中国象棋Unity5.6版本
  • 打造专属花店展示小程序
  • SpringBoot整合、SpringBoot与异步任务
  • 复习1-2天【80天学习完《深入理解计算机系统》】第六天
  • 62、华为昇腾开发板Atlas 200I DK A2配置mmpose的hrnet模型推理python/c++
  • 【数据结构】双链表
  • android设置竖屏仍然跟随屏幕旋转怎么办
  • java spring cloud 企业电子招标采购系统源码:营造全面规范安全的电子招投标环境,促进招投标市场健康可持续发展 tbms
  • 【Java】2021 RoboCom 机器人开发者大赛-高职组(初赛)题解
  • 汽车制造业上下游协作时 外发数据如何防泄露?
  • H13-922题库 HCIP-GaussDB-OLAP V1.5
  • 美团视觉GPU推理服务部署架构优化实战
  • 什么是前端框架?怎么学习? - 易智编译EaseEditing
  • logstash 原理(含部署)