Google Test 系列之一 - HelloTest
版权声明:本文为 cheng-zhi 原创文章,可以随意转载,但必须在明确位置注明出处!
什么是 Google Test?
Google Test
的全称是 Google C++ Testing Framework
,它是 Google 开发的用于 C++ 的单元测试框架,优秀并且跨平台,github 地址:Google Test。
Google 出品,必属精品,我们有必要学会使用!
编译 Google Test
下载 Google Test
git clone https://github.com/google/googletest.git
编译 Google Test
我在 Windows
平台使用 VS 2013 编译。
- 使用 VS 2013 打开
googletest\msvc\gtest.sln
工程 - 分别生成
Debug
和Release
的解决方案 - 在
googletest\msvc\gtest\Debug(Release)
下会生成 gtest(d).lib,即编译成功。
配置 Google Test
- 使用 VS 2013 新建一个 Win 32 控制台工程 HelloTest
- 配置项目的 属性 -> C/C++ -> 附加包含目录,添加
...\googletest\include
,.../
为你的前面的路径 - 配置项目的 属性 -> 链接器 -> 输入,添加
...\google_test_lib\gtestd.lib
,.../
为你的前面的路径 - 配置 Debug 项目的 属性 -> 代码生成 -> 运行库 为多线程调试(/MTd),如果是 Release 项目,则配置为多线程(/MT)
使用 Google Test
在你的项目的 _tmain
这个函数所在的文件里面添加下面的代码
#include "stdafx.h"
//添加 Google Test 的头文件
#include <gtest/gtest.h>
// 待测试的函数
int Foo(int a, int b)
{
if (a == 0 || b == 0)
{
throw "don't do that";
}
int c = a % b;
if (c == 0)
return b;
return Foo(b, c);
}
// 测试用例
TEST(FooTest, HandleNoneZeroInput){
EXPECT_EQ(2, Foo(4, 10));
EXPECT_EQ(6, Foo(30, 18));
}
// 程序入口
int _tmain(int argc, _TCHAR* argv[])
{
// 初始化
testing::InitGoogleTest(&argc, argv);
// 运行所有的测试
RUN_ALL_TESTS();
// 等待,避免运行之后立即结束
getchar();
return 0;
}
运行结果
这里只是简单的介绍了 Google Test 的基本配置和使用,详细的使用在后续会介绍。