0


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运行结果

在这里插入图片描述

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

标签: 单元测试 c++ 学习

本文转载自: https://blog.csdn.net/weixin_44784957/article/details/123630175
版权归原作者 阿莫12138 所有, 如有侵权,请联系我们删除。

“GTest学习笔记(一)”的评论:

还没有评论