Gtest创建第一个测试
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创建第一个测试的更多相关文章
- ASP.NET MVC 5 03 - 安装MVC5并创建第一个应用程序
不知不觉 又逢年底, 穷的钞票 所剩无几. 朋友圈里 各种装逼, 抹抹眼泪 MVC 继续走起.. 本系列纯属学习笔记,如果哪里有错误或遗漏的地方,希望大家高调指出,当然,我肯定不会低调改正的.(开个小 ...
- 用Firefly创建第一个工程
原地址:http://blog.csdn.net/uxqclm/article/details/10382097 安装完成之后,在python script包中就存在 firefly-admin的工具 ...
- gtest的安装和测试[good]
一.前言 本篇将介绍一些gtest的基本使用,包括下载,安装,编译,建立我们第一个测试Demo工程,以及编写一个最简单的测试案例. 二.下载 如果不记得网址, 直接在google里搜gtest,第一个 ...
- Django 创建第一个项目(转)
转自(http://www.runoob.com/django/django-first-app.html) 前面写了不少python程序,由于之前都是作为工具用,所以命令行就足够了,最近写的测试用例 ...
- PyQt5创建第一个窗体(正规套路)
一.Pyqt5 创建第一个窗体 很多人写窗体程序都是直接敲代码,不使用设计器,我个人不是很赞成这种做法.使用设计器的好处是直观.维护方便,尤其开发复杂窗体的效率高. 但是每次修改ui文件后,需要重新生 ...
- ThinkPHP学习(二)理清ThinkPHP的目录结构及访问规则,创建第一个控制器
ThinkPHP的目录结构 回顾上一篇的安装目录: 目录对应关系 F:\\PHP├─index.php 入口文件├─README.md README文件├─Applicatio ...
- 【cypress】3. 编写第一个测试
当环境安装好了之后,就可以着手尝试第一个测试的编写了. 一.新建一个文件 在你的项目下的cypress/integration文件夹中创建一个新文件sample_spec.js,我这里直接在webst ...
- Django创建第一个应用App(3)
创建一个投票的应用app.现在已经创建好了一个项目,就是有了一个框架,有了框架之后就可以往框架里面填写一些自己的需求,就是放一些功能在里面即可.一个项目可以包含多个应用app,一个应用app可以属于多 ...
- BI之SSAS完整实战教程3 -- 创建第一个多维数据集
上一篇我们已经完成了数据源的准备工作,现在我们就开始动手,创建第一个多维数据集(Cube). 文章提纲 使用多维数据集向导创建多维数据集 总结Cube设计器简介 维度细化 总结 一.使用向导创建多维数 ...
随机推荐
- LR函数基础(二)
(一)用到的函数: (1) web_set_option() //重定向设置 (2)web_reg_save_param和custom_request都常于处理参数的动态生成. web_reg_s ...
- PHP-Open Flash Chart报表生成
下载: http://www.cnblogs.com/huangcong/archive/2013/01/27/2878650.html 安装: 解压ZIP包, 将open-flash-chart.s ...
- cxf之GET,POST,PUT,DELETE的区别
GET,POST,PUT,DELETE的区别 注意: 文中有错误地方:关于增改删查正确的描述应为: get对应的是查询post对应的是保存/增加delete对应的是删除put对应的是更新
- HDUOJ-----2838Cow Sorting(组合树状数组)
Cow Sorting Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- HDUOJ--1874 畅通工程续
畅通工程续 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- 理解Lucene中的Analyzer
学习一个库,最好去官网.因为很多库API变动十分大,从博客上找的教程都过时了. Lucene原理就是简简单单的"索引",以空间换时间.但是Lucene将这件事做到了极致,后人再有想 ...
- eclipse生成可执行jar包[转]
相信大家在开发java的时候一定会遇到要求将java工程打包成可运行的jar的需求,今天我在这篇博客中详细讲解一下生成可运行jar的两种方法,亲测完全可行. 1. 工程中不包含第三方的jar包 这种情 ...
- 【jQuery】页面顶部显示的进度条效果
<!Doctype html> <html> <head> <title>页面顶部显示的进度条效果</title> <meta htt ...
- Python学习笔记010——匿名函数lambda
1 语法 my_lambda = lambda arg1, arg2 : arg1 + arg2 + 1 arg1.arg2:参数 arg1 + arg2 + 1 :表达式 2 描述 匿名函数不需要r ...
- Fragment中获取Activity的Context
Fragment中获取Activity的Context时只需要this.getActivity()即可.