`
zcmit
  • 浏览: 18106 次
文章分类
社区版块
存档分类
最新评论

搭建GTest框架、出现问题、解决方案

 
阅读更多
今天开始自己动手一步一步搭建在vs2010中使用GTest的框架
1、首先从https://code.google.com/p/googletest/下载最新版,写此篇文章时使用的是1.6.0
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的搭建,但是我并没有按照他们任何一个人说的搭建成功,
所以后来自己弄清楚了之后,还是想自己在完善一下再贴出来,以飨读者。

版权声明:本文为博主原创文章,未经博主允许不得转载。

分享到:
评论

相关推荐

    Gtest框架搭建

    在vs2017中搭建测试框架时所遇到的问题,根据自己搭建时的过程写的文档,希望对大家有帮助

    googletest_最新gtest测试框架_

    利用谷歌gtest测试框架,搭建自己的测试用例

    gtest测试框架

    研究学习gtest的框架

    gtest.zip框架

    个人的gtest框架 https://blog.csdn.net/jays_/article/details/104724794

    win10搭建gtest测试环境+vs2019

    win10搭建gtest测试环境+vs2019

    Gtest单元测试框架使用初探

    gtest 单元测试框架 Google C++ Testing Framework(简称gtest,http://code.google.com/p/googletest/)是Google公司发布的一个开源C/C++单元测试框架,已被应用于多个开源项目及Google内部项目中,知名的例子包括...

    gtest单元测试框架

    自己根据需求写的一个c++单元测试框架,写这个基础是阅读了gtest源码和许多架构,和为了方便大家的需要,写的一个通用性框架。如果大家需要,可以修改里面的相关代码,实现自己的独特需求。

    gtest单元测试框架源码

    本资源为gtest单元测试框架源码,可以直接make编译,生成的静态文件,可以直接使用,有需要的可以下载一下。

    GTest测试框架,c/c++

    GTest测试框架是一个短小精湛的c/c++测试框架

    GTest测试框架入门教程

    Google公司写的开源测试框架,基于C++语言,很实用的入门教程!

    CC++单元测试框架gtest初探.docx

    gtest 是 Google 开源的 C++ 单元测试框架,提供了一个灵活、可靠、可扩展的测试解决方案。本文将介绍 gtest 的基本使用,包括下载、安装、编译、建立第一个测试 Demo 工程,以及编写一个最简单的测试案例。 下载和...

    玩转Google单元测试框架gtest系列

    玩转Google单元测试框架gtest系列

    gtest源码gtest源码

    gtest源码gtest源码

    GoogleC++单元测试框架---Gtest框架简介

    在用googletest写测试项目之前,需要先编译gtest到library库并将测试与其链接。我们为一些流行的构建系统提供了构建文件:msvc/forVisualStudio,xcode/forMacXcode,make/forGNUmake,codegear/forBorlandC++Builder....

    gtest-1.3.0 测试框架

    测试框架 用于搭建测试环境,也可直接用于做单元测试, 是一套开源的测试环境

    gtest Demo

    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

    gtest 源码gtest 源码gtest 源码gtest 源码

    google test c++测试工具 gtest 包含两部分: gmock-1.7.0 gtest-1.7.0

    google gtest 测试

    google gtest 测试 gtest框架的介绍与应用 googletest在linux下建立测试框架

    gtest demo

    我使用的源码是gtest-1.6.0,这下面有一个文件夹fused-src,下面的gtest中包含有gtest.h.gtest_main.cc,gtest-all.cc三个文件,这即是可重用的代码了,你可以把它们加入你的工程,然后写测试代码。之前下了份别人的...

    GTest使用手册 中文版本 使用VS编译

    在编译过程中,需要注意升级工程版本,以免出现 compatibility 问题。 3. 建立第一个测试 Demo 新建一个 Win32 Console Application,设置工程属性,包括设置 gtest 头文件路径、gtest.lib 路径和 Runtime Library...

Global site tag (gtag.js) - Google Analytics