本文是GTest使用教程的第一篇,本文主要介绍如何用VS2010编译GTest,并在项目工程中运用GTest。
下载GTest
GTest是Google开源的单元测试框架,其源码在Github上,可以在Github上下载源码(地址GTest github 代码仓库地址),然后本地编译,就可以使用GTest了。
若读者使用的是是VS2010,则需要下载1.6版本及以下的,1.7版本对应的是VS2015。
编译GTest
下载源码解压后,进入根目录
根目录下的msvc文件夹里面是visual studio的工程文件,若压缩包中没有此文件夹,则需要使用CMakeList生成visual studio工程文件了。
在此文件夹目录路径下进入命令行,依次输入以下命令:
mkdir build
cd build
cmake .. –G"Visual Studio 10 2010"
在build文件夹,可以看到有gtest.sln.
打开gtest.sln解决方案,编译整个解决方案,将会在build\Debug目录生成gtest.lib 和gtestmain.lib文件,我们只需要gtest.lib文件。
注意:生成gtest.lib时候工程的runtime项配置要与将要使用这个lib库的工程runtime项要匹配,即:gtest.lib设置为MDd,那么在使用这个lib文件时,工程也要设置为MDd,否则会出现链接错误
至此,gtest编译成功,接下来介绍如何使用gtest。
编写第一个GTest测试用例
在解压后GTest的根目录中,虽然有很多的文件,其实我们只需要include文件夹中的头文件和在Debug文件夹中刚刚生成的的gtest.lib文件,就可以使用GTest来搭建的测试框架,为了方便,我们在D:\OpenSourceCode目录下新建目录GTest_1_6_0,将这两个文件夹复制到D:\OpenSourceCode\ GTest_1_6_0,并将Debug文件夹重命名为lib。这样,以后的项目中要使用gtest时,需要包含这个目录下的即可。
在VS2010中新建命令行工程,命名为GTestDemo。在附加包含头文件中选项中,添加刚刚的D:\OpenSourceCode\GTest_1_6_0
还需要将刚刚生成的静态库链接进去,需要配置链接库目录和链库文件名
配置完成后,我们添加空项目中添加main.cpp文件,添加GTest最简单的一个测试用例:
#include "gtest\gtest.h"
int Add(int a, int b)
{
return a + b;
}
TEST(AddFunc, )
{
int sum = Add(1, 2);
EXPECT_EQ(3, sum);
}
int main(int argc, char* argv[])
{
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
就可以编译这个工程了,若编译不过,看看这个地方的配置是否正确。
编译成功后,在命令行中运行此程序
可以看到输出信息,运行了一个测试用例,PASSED一个,失败0个,这说明,添加的测试用例运行通过,若测试用例没有通过,则在屏幕上打印错误信息。
以上这是GTest最简单的一种使用方式,目的是演示GTest是如何使用的,后面的将会介绍GTest的使用方式。