1.下载源码:
https://github.com/google/googletest
点击右下角的DownloadZIP,下载后解压如下:
2.编译
GoogleTest是支持windows平台的,就是需要编译下,我用的是最新版的GoogleTest,用visual studio 2013编译。
打开E:\googletest-master\googletest\msvc文件,点击gtest.sln,打开后生成解决方案。这就OK了。
3.使用
a.先新建一个项目,我新建了一个win32控制台空程序;
b.添加main函数;
代码:
#include <iostream>
#include <tchar.h>
int main(int argc, _TCHAR* argv[])
{
printf("Hello world\n");
system("pause");
return 0;
}
运行下是不是OK。
c.配置gtest
我是参考这篇博客配置的:http://www.cnblogs.com/coderzh/archive/2009/03/31/1426758.html
1.设置gtest头文件路径
2.设置gtest.lib路径
3.RuntimeLibrary设置
d.添加测试代码:
#include <iostream>
#include <gtest/gtest.h>
#include <tchar.h>
int Foo(int a ,int b)
{
if ( 0 == a || 0 == b)
{
throw "don't do that";
}
int c = a % b;
if (c == 0)
{
return b;
}
return Foo(b, c);
}
int add(int a, int b)
{
return a + b;
}
bool isEvenNum(int a)
{
return a % 2 == 0;
}
TEST(FooTest,HandleNoneZeroInput)
{
EXPECT_EQ(2,Foo(4,10));
EXPECT_EQ(6, Foo(30, 18));
}
TEST(AddTest,HanleNoneZeroInput)
{
EXPECT_EQ(48, add(30, 18));
EXPECT_EQ(58, add(40, 18));
}
TEST(IsEvenNum, HandleNoneZeroInput)
{
EXPECT_EQ(true, isEvenNum(40));
EXPECT_EQ(false, isEvenNum(15));
}
int main(int argc, _TCHAR* argv[])
{
printf("Hello world\n");
testing::InitGoogleTest(&argc, argv);
RUN_ALL_TESTS();
system("pause");
return 0;
}