GTest学习笔记(一)

GTest学习笔记(一)

环境准备:CMake+Visual Studio

原博客: (20条消息) 记gtest1.10.0安装过程及简单使用_wingrez的博客-CSDN博客

使用GTest搭建一个简单的单元测试

1.下载GTest release-1.10.0源码

GitHub - google/googletest at release-1.10.0

在这里插入图片描述

2.生成测试所需的lib文件
2.1使用CMake构建gtest.sln

在下图路径下进入Powershell
在这里插入图片描述

执行下列指令

$ mkdir build
$ cd build
$ cmake ..

在这里插入图片描述

2.2 使用VS生成解决方案

注意配置要一致(我使用的是Debug x64)

项目属性/C/C++/代码生成/运行库:多线程调试(/MTd)

在这里插入图片描述

生成成功后,build/lib/Debug下会出现lib文件

在这里插入图片描述

3.搭建测试项目
3.1创建一个控制台应用项目

在这里插入图片描述

3.2配置项目属性

Debug+x64+MTd

添加附加包含目录

在这里插入图片描述

我之前看示例中附加包含目录只到"D:\workspace\GoogleTest\googletest-release-1.10.0\googletest-release-1.10.0\googletest\include"这一层,然后在引用的时候使用"include<gtest/gtest.h>";然后我就自己替换成了"D:\workspace\GoogleTest\googletest-release-1.10.0\googletest-release-1.10.0\googletest\include\gtest",在引用的时候直接"include<gtest.h>",然后就发现报错了,出错结果如下:

在这里插入图片描述

将附加目录修改回"D:\workspace\GoogleTest\googletest-release-1.10.0\googletest-release-1.10.0\googletest\include",引入头文件的路径也修改为"include<gtest/gtest.h>",然后部分的出错信息就消失了,效果如下:

在这里插入图片描述

还有错误是因为return RUN_ALL_TESTS忘记加括号了,应该是return RUN_ALL_TESTS()

添加附加依赖项

在这里插入图片描述

3.3测试代码

addIntegers.h

#pragma once
#include <iostream>
using namespace std;

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

test.cpp

#include <gtest/gtest.h>
#include"addIntegers.h"

TEST(testCase,test0)
{
	EXPECT_EQ(3,add(1,2));
}

TEST(testCase, test1)
{
	EXPECT_EQ(11, add(12, 3));
}

Project1.cpp

#include <gtest/gtest.h>
int main(int argc,char **argv)
{
    testing::InitGoogleTest(&argc,argv);
    return RUN_ALL_TESTS();
}
3.4运行结果

在这里插入图片描述

内容如有错误,敬请指正!

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值