今天开始自己动手一步一步搭建在vs2010中使用GTest的框架
2、在解压后目录中找到msvc目录,其中有两个sln:gtest.sln、gtest-md.sln,打开前者发现有4个工程:
gtest是主工程、gtest_main是帮助被测工程生成main入口的、其余两个是测试工程不关注
3、对于前两个工程,分别生成debug和release的lib,注意:在工程属性-配置属性-C/C++-代码生成中将运行库改为“多线程调试(/MTD)”和“多线程(/MT)”,分别对应debug和release版本
4、第3步会在msvc目录中得到gtest目录,其中有debug和release目录,此两个目录中分别会有gtest.lib和gtest_main.lib,这两个lib就是我们将要使用的单元测试链接库了
5、现在可以开始搭建GTest框架在你的项目中了
6、在vs2010中将你自己的被测工程的配置类型改为静态链接(.lib),同时在工程属性-配置属性-C/C++-代码生成中将运行库改为“多线程调试(/MTD)”和“多线程(/MT)”,这就对应上了我们在第3步中生成的两个lib了,此处一定要和第三步的选择相同,否则无法使用gtest!
7、现在终于可以建立你自己的测试工程了,一般建议对于一个生产工程我们都生成一个相应的测试工程,便于管理和解耦
8、此时开始了“痛苦的”属性设置过程,我自己在网上找了N久都没有解决,最后还是在github上的一个项目源码中一点点的照着改才终于改对,后来自己把犯过的错误又回顾了一遍,终于算是比较清楚这每一步的设置都是怎么回事了。废话少说,我们开始:
8.1、新建一个测试工程
8.2、为新建的测试工程添加依赖项目,右键-“项目依赖项”,选中被测项目,你可以不设置此项,按照8.6同样可以完成,这一步就是让你的测试工程能认识被测试工程
8.3、将测试工程的包含目录设置为gtest-1.6.0\include
8.4、在工程属性-配置属性-C/C++-代码生成中将运行库改为“多线程调试(/MTD)”和“多线程(/MT)”,同样是第3步的设置,一脉相承,前后呼应!
8.5、属性-配置属性-连接器-输入,在附加依赖项中添加你在第3步生成的两个lib,其中如果你的测试项目有main函数入口可以不加gtest_main.lib,如果你的测试工程没有main函数入口,则需要加gtest_main.lib,它可以帮你生成入口函数
8.6、如果你没有设置8.2,此时你必须这样做,同样在8.5的窗口中再增加一个被测工程的lib(当然这需要你先build该工程为一个静态链接库)。我之前就在这里卡住了很久因为我的8.2设置无效!!!找了半天才发现这个原因,但是原理很简单就是让你的测试工程知道你的被测工程,找到lib就好了
8.7、最后一步,在你的测试代码中include被测代码的头文件和gtest/gtest.h
9、完成以上配置,就可以安心写你的测试用例了
10、如果完成了以上9步,可以运行成功,你就能看到gtest的运行界面了
总结,自己找了一些论坛上网友的帖子,基本都介绍清楚了gtest的搭建,但是我并没有按照他们任何一个人说的搭建成功,
所以后来自己弄清楚了之后,还是想自己在完善一下再贴出来,以飨读者。
版权声明:本文为博主原创文章,未经博主允许不得转载。
分享到:
相关推荐
在vs2017中搭建测试框架时所遇到的问题,根据自己搭建时的过程写的文档,希望对大家有帮助
利用谷歌gtest测试框架,搭建自己的测试用例
研究学习gtest的框架
个人的gtest框架 https://blog.csdn.net/jays_/article/details/104724794
win10搭建gtest测试环境+vs2019
gtest 单元测试框架 Google C++ Testing Framework(简称gtest,http://code.google.com/p/googletest/)是Google公司发布的一个开源C/C++单元测试框架,已被应用于多个开源项目及Google内部项目中,知名的例子包括...
自己根据需求写的一个c++单元测试框架,写这个基础是阅读了gtest源码和许多架构,和为了方便大家的需要,写的一个通用性框架。如果大家需要,可以修改里面的相关代码,实现自己的独特需求。
GTest测试框架是一个短小精湛的c/c++测试框架
Google公司写的开源测试框架,基于C++语言,很实用的入门教程!
本资源为gtest单元测试框架源码,可以直接make编译,生成的静态文件,可以直接使用,有需要的可以下载一下。
玩转Google单元测试框架gtest系列
gtest源码gtest源码
在用googletest写测试项目之前,需要先编译gtest到library库并将测试与其链接。我们为一些流行的构建系统提供了构建文件:msvc/forVisualStudio,xcode/forMacXcode,make/forGNUmake,codegear/forBorlandC++Builder....
测试框架 用于搭建测试环境,也可直接用于做单元测试, 是一套开源的测试环境
gtest gtest gtest gtest gtest gtest gtest gtest gtest gtest gtest gtest gtest gtest gtest gtest gtest gtest gtest gtest gtest gtest gtest gtest gtest gtest gtest gtest gtest gtest gtest gtest gtest
google test c++测试工具 gtest 包含两部分: gmock-1.7.0 gtest-1.7.0
google gtest 测试 gtest框架的介绍与应用 googletest在linux下建立测试框架
我使用的源码是gtest-1.6.0,这下面有一个文件夹fused-src,下面的gtest中包含有gtest.h.gtest_main.cc,gtest-all.cc三个文件,这即是可重用的代码了,你可以把它们加入你的工程,然后写测试代码。之前下了份别人的...
CC++单元测试框架gtest初探.docx
基于google gtest gmock的 实战教程。 演示,单元测试在C语言上 运用 简单上手,通俗易懂,提高代码质量,和编程效率