gtest 学习之一
最近在学习google test 的测试框架,以前对单元测试有一定的了解,但不够深入,学习了gtest 的测试框架之后觉得这真是一个神器,在之后的一段时间会把自已学习的过程记录下来。今天先学习一个怎么编译gtest.lib 这个库文件。gtest 编译过程如下:
1、下载gtest的库文件,本示例中用的是gtest-1.6.0.zip,将gtest解压到F:\workspace\gtest目示中,这个目录可以根据自已的实际情况进行创建。
2、打开vs2010,"文件" -> "打开"-> "项目/解决方案",打开上一步中解压的gtest-1.6.0文件夹下面的msvc文件夹
3、直接编译打开的工程,即可得到想要的gtest.lib,为了调试方便本例中是将文件编译为gtestd.lib,方便后面调试
4、关掉上面vs2010中打开的项目,新建一个工程名称为proj1的控制台程序,路径为"F:\workspace\gtest\gtest"。建立头文件的文件夹"F:\workspace\gtest\gtest\include"、库文件的文件夹"F:\workspace\gtest\gtest\lib",如下图所示:
将F:\workspace\gtest\gtest-1.6.0\include目录中的内容拷贝到F:\workspace\gtest\gtest\include目录下,将上一步中编译的gtestd.lib拷贝到F:\workspace\gtest\gtest\lib目录下。
5、在新建的工程中添加头文件,"项目" -> "proj1属性" -> "配置属性" -> "C/C++", 在 " 附加包含目录" 中添加头文件的位置"F:\workspace\gtest\gtest\include"
6、在新建的工程中添加库文件 ,"项目" -> "proj1属性" -> "配置属性" -> "链接器" -> "常规", 在"附加库目录"中添加getstd.lib的路径"F:\workspace\gtest\gtest\lib"。在"项目" -> "proj1属性" -> "配置属性" -> "链接器" -> "输入", 在"附加依赖项"中添加gtestd.lib
7、在main.cpp中加入如下代码
#include "gtest/gtest.h" int add(int a, int b) { return a + b; } TEST(addTest, HandleNoneZeroInput) { EXPECT_EQ(3, add(1,2)); } int main(int argc, char *argv[]) { testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS(); }
编译成功,用一个控制台运行程序运行结果如下: