一、前言
Google的开源C++单元测试框架Google Test,简称gtest,gtest提供了非常完善的功能,并且简单易用,极大的提高了编写测试案例的效率。利用现有的框架编写用例,只需使用一些简单的宏即可,TEST、TEST_F、TEST_P、EXPECT_*、ASSERT_*等。本文简单记录一下Gtest框架的获取、框架的搭建。
二、下载
下载地址 http://code.google.com/p/googletest/downloads/list
笔者使用的是gtest-1.6.0
三、静态库的生成
解压文件后,进入msvc文件夹,有如下文件
直接用VS打开工程文件(\msvc\gtest.sln),编译生成静态库。在配置管理器中设置,Debug模式下,生成的库为gtestd.lib ;Release模式下,生成的库为gtest.lib ,并自己需要的版本(64位 or 32位)。
上图配置生成64位的Debug静态库gtestd.lib
四、环境配置
在vs中建立一个新的win32控制台应用程序,然后设置属性。
1、设置头文件
笔者将下载、解压后的文件下的include,拷贝到新建的工程目录下(也可以使用绝对路径,建议使用相对路径)
2、设置依赖的静态库
笔者,分别设置了依赖的库路径及库名称,也可以直接在附加依赖库中使用路径加库名的方式
3、Runtime Library设置
注意:debug模式下,对应/MTD ;release模式下,对应MT
五、Demo
工程设置之后,我们来编写一个最简单测试案例测试。
main函数(testGoogleMain.cpp):
#include <iostream>
#include <gtest/gtest.h>
int main(int argc, char **argv)
{
std::cout << "Running main() from gtest_main.cc\n";
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}
“testing::InitGoogleTest(&argc, argv);” :gtest的测试案例允许接收一系列的命令行参数,因此,我们将命令行参数传递给gtest,进行一些初始化操作。
“RUN_ALL_TESTS()” :运行所有测试案例
被测试函数(MyFunc.cpp):
#include "MyFunc.h"
int add(int x, int y)
{
return x + y;
}
被测函数头文件(MyFunc.h)
#ifndef _MYFUNC_H_
#define _MYFUNC_H_
int add(int x, int y);
#endif
测试案例MyFuncTest.cpp
#include "MyFunc.h"
#include <gtest/gtest.h>
TEST(MyMathTest, Positive)
{
EXPECT_EQ(3, add(1, 2));
}
完成之后,Ctrl+F5 生成结果,如果全部绿色表示执行成功。
六、总结
本文主要记录了,自己在搭建Gtest环境的时候,简单配置过程。
1、编译库文件
2、设置工程属性
3、编写测试案例
本文介绍了如何在Windows下搭建Google Test测试框架,包括下载gtest源码、生成静态库、配置VS工程属性以及编写和运行测试案例的详细步骤。

4170

被折叠的 条评论
为什么被折叠?



