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.0\msvc,使用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 == || b == )
{
throw "don't do that";
}
int c = a % b;
if (c == )
return b;
return Foo(b, c);
} TEST(FooTest, HandleNoneZeroInput)
{
EXPECT_EQ(, Foo(, ));
EXPECT_EQ(, Foo(, ));
} int _tmain(int argc, _TCHAR* argv[])
{
testing::InitGoogleTest(&argc, argv); return RUN_ALL_TESTS();
//getchar();
system("pause"); }

5、在demo解决方案的属性页面中加入,需要附加的目录,因为需要使用一些gtest的头文件,如上面程序中的gtest.h,否则程序不知道一些宏是从哪来的

我的目录C:\Users\Administrator\Desktop\gtest-1.3.0\include

6、设置调试模式。本例采用静态运行库的Debug模式,对应的/MTd,所以是下图所示,若是Release模式下可以选择/MT

关于运行库的说明参见http://www.cnblogs.com/eddyshn/archive/2009/11/23/1608823.html

7、在demo解决方案的属性页面中加入,需要链接的库文件的地址,即是刚才提到的lib所在的文件夹路径

我的是C:\Users\Administrator\Desktop\gtest-1.3.0\msvc\Debug\gtestd.lib

6、遗憾的是没有出现这个页面,用了各种方法都不行啊,评论里也有这种情况,难道是版本的问题,待解决,希望谁知道告我一声哦

Gtest创建第一个测试的更多相关文章

  1. ASP.NET MVC 5 03 - 安装MVC5并创建第一个应用程序

    不知不觉 又逢年底, 穷的钞票 所剩无几. 朋友圈里 各种装逼, 抹抹眼泪 MVC 继续走起.. 本系列纯属学习笔记,如果哪里有错误或遗漏的地方,希望大家高调指出,当然,我肯定不会低调改正的.(开个小 ...

  2. 用Firefly创建第一个工程

    原地址:http://blog.csdn.net/uxqclm/article/details/10382097 安装完成之后,在python script包中就存在 firefly-admin的工具 ...

  3. gtest的安装和测试[good]

    一.前言 本篇将介绍一些gtest的基本使用,包括下载,安装,编译,建立我们第一个测试Demo工程,以及编写一个最简单的测试案例. 二.下载 如果不记得网址, 直接在google里搜gtest,第一个 ...

  4. Django 创建第一个项目(转)

    转自(http://www.runoob.com/django/django-first-app.html) 前面写了不少python程序,由于之前都是作为工具用,所以命令行就足够了,最近写的测试用例 ...

  5. PyQt5创建第一个窗体(正规套路)

    一.Pyqt5 创建第一个窗体 很多人写窗体程序都是直接敲代码,不使用设计器,我个人不是很赞成这种做法.使用设计器的好处是直观.维护方便,尤其开发复杂窗体的效率高. 但是每次修改ui文件后,需要重新生 ...

  6. ThinkPHP学习(二)理清ThinkPHP的目录结构及访问规则,创建第一个控制器

    ThinkPHP的目录结构 回顾上一篇的安装目录: 目录对应关系 F:\\PHP├─index.php       入口文件├─README.md       README文件├─Applicatio ...

  7. 【cypress】3. 编写第一个测试

    当环境安装好了之后,就可以着手尝试第一个测试的编写了. 一.新建一个文件 在你的项目下的cypress/integration文件夹中创建一个新文件sample_spec.js,我这里直接在webst ...

  8. Django创建第一个应用App(3)

    创建一个投票的应用app.现在已经创建好了一个项目,就是有了一个框架,有了框架之后就可以往框架里面填写一些自己的需求,就是放一些功能在里面即可.一个项目可以包含多个应用app,一个应用app可以属于多 ...

  9. BI之SSAS完整实战教程3 -- 创建第一个多维数据集

    上一篇我们已经完成了数据源的准备工作,现在我们就开始动手,创建第一个多维数据集(Cube). 文章提纲 使用多维数据集向导创建多维数据集 总结Cube设计器简介 维度细化 总结 一.使用向导创建多维数 ...

随机推荐

  1. 为什么WEB-INF外的jsp无法根据cookie享受国际化

    243行走WEB-INF外则获取为空,走springmvc则可以获取到:

  2. 金山PDF

    金山是个很不错的软件公司,金山出PDF,纯粹是完善生态圈!毕竟没FoxitReader专业对PDF的处理上! 官网:芝麻开门 下载:http://wdl1.cache.wps.cn/wps/downl ...

  3. iOS点击获取短信验证码按钮

    概述 iOS点击获取短信验证码按钮, 由于 Demo整体测试运行效果 , 整个修改密码界面都已展现, 并附送正则表达式及修改密码逻辑. 详细 代码下载:http://www.demodashi.com ...

  4. Linux内核源代码分析方法

    Linux内核源代码分析方法   一.内核源代码之我见 Linux内核代码的庞大令不少人"望而生畏",也正由于如此,使得人们对Linux的了解仅处于泛泛的层次.假设想透析Linux ...

  5. Android API之android.provider.ContactsContract

    android.provider.ContactsContract ContactsContract是联系人provider和app的contract.定义了已支持的URL和column.取代了之前的 ...

  6. 【TP3.2】:日志记录和查看

    1.TP3.2手册日志类链接:http://document.thinkphp.cn/manual_3_2.html#log 2.日志默认路径:/Application/Runtime/Logs 3. ...

  7. 【微信小程序】:评论、回复和删除功能 -- 2017/7/14

    1.理论核心:传参->pid,评论父id需要在wxml页面传递:小程序端和WEB端不同核心:前者操纵数据,后者操纵DOM元素对象 2.不废话,直接代码:wxml <view class=& ...

  8. PHP中curl的使用

    cURL 函数 curl_close — 关闭一个cURL会话 curl_copy_handle — 复制一个cURL句柄和它的所有选项 curl_errno — 返回最后一次的错误号 curl_er ...

  9. aop注解 事例

    spring.xml中aop的配置 <!-- aop的配置 --> <aop:config> <!-- 切入点表达式 --> <aop:pointcut ex ...

  10. 用 python 爬虫抓站的一些技巧总结

    学用python也有3个多月了,用得最多的还是各类爬虫脚本:写过抓代理本机验证的脚本,写过在discuz论坛中自动登录自动发贴的脚本,写过自动收邮件的脚本,写过简单的验证码识别的脚本,本来想写goog ...