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

入门教程

Visual Studio 新建 GoogleTest项目,一路选默认参数

pch.h

cpp 复制代码
#pragma once

#include "gtest/gtest.h"

int add(int a, int b);

pch.cpp

cpp 复制代码
#include "pch.h"

int add(int a, int b)
{
	return a + b;
}

test.cpp

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++ 附加包含目录等)

cpp 复制代码
#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生成

相关推荐
aqymnkstkw9 分钟前
2024年【电气试验】考试题库及电气试验模拟试题
大数据·c语言·人工智能·嵌入式硬件·安全
qmx_0714 分钟前
MFC-基础架构
c++·mfc
万象.15 分钟前
STL_vector实现及干货以及vector迭代器失效问题
c++
想变成自大狂16 分钟前
C++中的异构容器
开发语言·c++
小米里的大麦20 分钟前
【C++】深入理解引用:从基础到进阶详解
c++·经验分享·笔记·引用·引用和指针
float_com1 小时前
【STL】stack,deque,queue 基础,应用与操作
c++·stl·极速入门
学习使我变快乐1 小时前
C++:用类实现链表,队列,栈
开发语言·c++·链表
lmy_t1 小时前
C++之第十二课
开发语言·c++
tyler-泰勒2 小时前
初始c++:入门基础(完结)
java·开发语言·c++
Happy鱿鱼3 小时前
C语言-数据结构 有向图拓扑排序TopologicalSort(邻接表存储)
c语言·开发语言·数据结构