用Visual Studio创建集成了gtest的命令行工程
gtest代码库中的sample代码
在gtest的代码库中,包含了10个sample的代码,覆盖了gtest的常见用法,sample的代码位于以下文件夹:
gtest\samples
由于gtest的代码库中并没有包含这些sample代码对应的msvc工程文件,所以需要我们自行创建。下面以把sample1的代码跑起来为目的,演示如何用Visual Studio创建一个集成了gtest的命令行工程。
用Visual Studio创建工程
Step1 创建名为samples的Win32 Console Application

Step2 在Application Settings中去掉Precompiled header勾选项

Step3 删掉向导自动生成的这些文件,保存后Close Solution。

Step4 向导自动生成的对我们有用的是以下三个文件:
- samples.sln
- samples.vcxproj
- samples.vcxproj.filters
把它们拷贝到gtest\msvc文件夹下,然后再重新打开samples.sln。
Step5 把gtest代码库下的这两个文件加入到工程中:
- gtest-all.cc
- gtest_main.cc

Step6 左侧目录树选择“Configuration Properties > C/C++ > General”,在右侧“Additional Include Directories”中添加Include路径,分别指向gtest的根目录和include目录:

Step7 再次确认一下没有使用Precompiled header

Step8 至此,我们已经创建好了一个集成了gtest的工程,它是一个命令行程序,编译之后运行效果如下:

添加测试和被测试代码
在上面这个工程中,加入sample1的测试和被测试代码,即形成了sample1的单元测试工程:

编译之后运行,即可看到测试用例的执行结果:

关于Precompiled header
上面的这个例子,从一开始创建工程就关闭了Precompiled header,这样做主要有以下两方面原因:
- gtest本身的代码是不需要使用预编译头的;
- sample1的测试代码也是不需要使用预编译头的。
但这种做法不一定适合于其它测试工程,比如说,当测试代码中包含了MFC派生类的时候,这种情况下的做法是打开整个工程的Precompiled header,单独关闭gtest-all.cc和gtest-main.cc的Precompiled header:

一句话小结就是,根据具体的测试代码来设置Precompiled header。

系列文章索引:http://www.cnblogs.com/duxiuxing/p/4270836.html
用Visual Studio创建集成了gtest的命令行工程的更多相关文章
- Visual Studio 2012系统环境变量设置(命令行)
方法1.运行脚本vsvars32.bat:D:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\vsvars32.bat ...
- Visual Studio创建跨平台移动应用_02.Cordova Extension
1简介 本章节是关于Visual Studio Tools for Apache Cordova的,目前此产品只发布了预览版.Visual Studio for Apache Cordova帮助熟悉V ...
- 使用 Cordova+Visual Studio 创建跨平台移动应用(1)
1简介 本章节是关于Visual Studio Tools for Apache Cordova的,目前此产品只发布了预览版.Visual Studio for Apache Cordova帮助熟悉V ...
- 使用Visual Studio创建简单的自己定义Web Part 部件属性
使用Visual Studio创建简单的自己定义Web Part 部件属性 自己定义属性使用额外的选项和设置拓展你的Web part部件.本文主要解说怎样使用Visual Studio创建简单的自己定 ...
- 使用Visual Studio 创建新的Web Part项目
使用Visual Studio 创建新的Web Part项目 Web Part是你将为SharePoint创建的最常见的对象之中的一个.它是平台构建的核心基块. 1. 管理员身份打开Visual St ...
- 使用Visual Studio 创建可视Web Part部件
使用Visual Studio 创建可视Web Part部件 可视Web Part部件是很强大的Web 部件.它提供内置设计器创建你的用户界面. 本文主要解说怎样使用Visual Studio 创建可 ...
- 【翻译】使用Visual Studio创建Asp.Net Core MVC (一)
This tutorial will teach you the basics of building an ASP.NET Core MVC web app using Visual Studio ...
- Visual studio 创建项目失败vstemplate
Visual studio 创建项目失败 提示 the vstemplate file references the wizard class 'Microsoft.VisualStudio.WinR ...
- Xamarin 中Visual Studio创建项目提示错误
Xamarin 中Visual Studio创建项目提示错误 错误信息:Object reference not set to an instance of an object 出现这种情况,是由于没 ...
随机推荐
- Android滚动截屏,ScrollView截屏
在做分享功能的时候,需要截取全屏内容,一屏展示不完的内容,一般我们会用到 ListView 或 ScrollView 一: 普通截屏的实现 获取当前Window 的 DrawingCache 的方式, ...
- Codeforces 526D - Om Nom and Necklace 【KMP】
ZeptoLab Code Rush 2015 D. Om Nom and Necklace [题意] 给出一个字符串s,判断其各个前缀是否是 ABABA…ABA的形式(A和B都可以为空,且A有Q+1 ...
- verilog之task用法实例
该用法的代码源自夏宇闻老师的教材. 源代码: module traffic_lights; reg clock, red, amber, green; , off = , red_tics = , a ...
- Python之路,Day16 - Django 进阶
Python之路,Day16 - Django 进阶 本节内容 自定义template tags 中间件 CRSF 权限管理 分页 Django分页 https://docs.djangoproj ...
- markdown 简明语法
今天同事聊到markdown用法 之前不怎么了解 先把网上的建明语法贴出来 以备后用. 基本符号 *,-,+ 3个符号效果都一样,这3个符号被称为 Markdown符号 空白行表示另起一个段落 `是 ...
- 重温web服务器--细说Tomcat服务器
从大学开始接触java web的开发时就开始使用tomcat部署web项目,对它的理解仅仅停留在"这是个开源免费的servlet容器"的阶段,后来也接触了一些tomcat的体系,原 ...
- Eclipse怎么忽略掉报错的js文件
第一步,我们要先定位错误在哪里,选择菜单里window——show view——other,选择Problems. 第二步,点击有红叉的项目,在Problems视图中,可以看到是什么错,哪个文件夹中的 ...
- 一起学makefile
Unix.Linux必学知识哈哈,网上看到一哥们写得挺好挺详细的,直接复制地址就分享哈哈哈. 跟我一起写 Makefile(一) 概述 跟我一起写 Makefile(二) make是如何工作的 跟我一 ...
- PAT-1041 Be Unique
Being unique is so important to people on Mars that even their lottery is designed in a unique way. ...
- MESH
本文由博主(YinaPan)原创,转载请注明出处:http://www.cnblogs.com/YinaPan/p/Unity_meshtest.html A class that allows c ...