到github下载gtest的源码
https://github.com/google/googletest
解压下载的源码压缩文件,在googletest-master\msvc目录下,看到有gtest.sln文件,使用VS2015打开它,
然后选择x64,编译gtest项目,分别编译Debug和Release两个版本,生成gtestd.lib,gtest.lib
2.1 将gtest的头文件添加到工程
项目属性 ——— C/C++常规——–附加包含目录———编辑———添加include目录的路径
2.2 将动态链接库进行链接
项目属性——-链接器—–附加依赖项—–编辑—–添加动态库的路径
注意,如果是当前项目要用到Debug版本,则添加Debug版本的库文件及库文件路径,如果是Release版本,则添加Release版本的库文件及库文件路径
2.3添加依赖库
项目属性----链接器---输入----附加依赖库----编辑----添加库文件名
如果是Debug版本则添加gtestd.lib,如果是Release版本则添加gtest.lib
2.4 修改运行库的方式
属性—–C/C++ 下的代码生成 —— 运行库 —– 选择方式
这里的方式有四种,为下表,选择时,应对应起来,如果运行中出现如下图情况,则选择对应的运行库
名称 |
对应项 |
使用环境 |
多线程调试Dll (/MDd) |
MD_DynamicDebug |
多线程动态链接库的DEBUG模式 |
多线程Dll (/MD) |
MD_DynamicRelease |
多线程动态链接库的RELEASE模式 |
多线程(/MTd) |
MD_StaticDebug |
多线程静态链接库的DEBUG模式 |
多线程(/MT) |
MD_StaticRelease |
多线程静态链接库的RELEASE模式 |
这样就部署好了gtest,后面来一个测试。
新建一个工程,GtestTest,根据第二部分的操作方法,进行配置,配置好后,
在项目里添加一个头文件,GtestTest.h
#pragma once
#include
int func(int a, int b)
{
return a - b;
}
再添加一个c++文件,GtestTest.cpp
#include "gtestTest.h"
#include
#include
TEST(func, case1)
{
EXPECT_LT(-2, func(1, 2));
EXPECT_EQ(-1, func(1, 2));
ASSERT_LT(-2, func(1, 2));
ASSERT_EQ(-1, func(1,2));
}
int main(int argc, char* argv[])
{
testing::InitGoogleTest(&argc, argv);
RUN_ALL_TESTS();
Sleep(100000);
return 0;
}