gtest测试框架是在不同平台上(Linux,Mac OS X,Windows,Cygwin,Windows CE和Symbian)为编写C++测试而生成的。它是基于xUnit架构的测试框架,支持自动发现测试,丰富的断言集,用户定义的断言,death测试,致命与非致命的失败,类型参数化测试,各类运行测试的选项和XML的测试报告。需要详细了解的朋友可以参阅《玩转Google单元测试框架gtest系列》该篇文章。
http://www.cnblogs.com/coderzh/archive/2009/03/31/1426758.html
下面就针对这篇文章建立自己的第一个测试,以及测试搭建环境
准备工作
1、打开VS2010,新建windows console application解决方案demo,预编译头文件
2、下载文章中提供的链接,gtest 1.3.0-zip,解压。
3、打开gtest-1.3.0msvc,使用vs2010编译gtest.sln解决方案,生成Debug文件夹,里面有个gtestd.lib文件,一会有用,额外说明的是这个文件是在Debug模式下使用,另外还可能生成一个gtest.lib文件,是在Release模式下使用的,下面默认是在Debug模式下进行
4、在demo.cpp中加入代码
// demo.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #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); return RUN_ALL_TESTS(); //getchar(); system("pause"); }
5、在demo解决方案的属性页面中加入,需要附加的目录,因为需要使用一些gtest的头文件,如上面程序中的gtest.h,否则程序不知道一些宏是从哪来的
我的目录C:UsersAdministratorDesktopgtest-1.3.0include
6、设置调试模式。本例采用静态运行库的Debug模式,对应的/MTd,所以是下图所示,若是Release模式下可以选择/MT
关于运行库的说明参见http://www.cnblogs.com/eddyshn/archive/2009/11/23/1608823.html
7、在demo解决方案的属性页面中加入,需要链接的库文件的地址,即是刚才提到的lib所在的文件夹路径
我的是C:UsersAdministratorDesktopgtest-1.3.0msvcDebuggtestd.lib
6、遗憾的是没有出现这个页面,用了各种方法都不行啊,评论里也有这种情况,难道是版本的问题,待解决,希望谁知道告我一声哦