google test 是google的c++开源单元测试工具,chrome的开发团队就是使用它。

Code::Blocks 12.11(MinGW 4.7.1) (Windows版)
Google Test 1.7.0

一 编译Google Test

运行cmake-gui
在弹出来的对话框中
Where is the source code之后填写解压的gtest,例如:D:/software/gtest-1.7.0
Where to build the binaries之后填写生成的工程路径,例如:D:/software/gtest-1.7.0/codeblocks-mingw

(网上看到说要点击Configure,然后勾选gtest_disable_pthreads之后的复选框,再进行下面的操作,这一步我没有做也没问题)
点击Configure
然后点击Generate
如此一来,cmake就在D:/software/gtest-1.7.0/codeblocks-mingw下会自动生成Code::Blocks的project文件。
双击该project文件(cbp文件),然后build就行了。


二 使用Google Test

需要注意的是:
既想用C++11的新特征,又想顺利编译Google Test,你得用命令行参数-std=gnu++11,而不是-std=c++11。

用codeblocks新建一个工程
右键project,选择Build options...
清除Compiler settings > Compile Flags下与-std=有关的复选框
点击选项卡Compiler settings > Other options,在对话框中填写-std=gnu++11

(如果没有使用c++11新特性,上面两步可以省略)
在Linker settings > Other linker options下填写-lgtest
点击OK

点击选项卡Search directories
在Compiler子选项卡中Add一项,填写D:/software/gtest-1.7.0\include
在Linker子选项卡中Add一项,填写D:/software/gtest-1.7.0\codeblocks-mingw
点击OK

然后就可以写代码了,我写了一个add函数,然后对其测试,代码如下:

 #include<cstdio>
#include<gtest/gtest.h> int add(int a, int b)
{
return a+b;
} TEST(addtest, HandleNoneZeroInput)
{
EXPECT_EQ(, add(, ));
EXPECT_EQ(-, add(-, ));
} int main(int argc, char *argv[])
{
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
return ;
}

结果如图:

详细的使用说明请参考:here

【版权声明】转载请注明出处:http://www.cnblogs.com/TenosDoIt/p/3412721.html

codeblocks+Mingw 下配置开源c++单元测试工具 google test的更多相关文章

  1. 玩转Google开源C++单元测试框架Google Test系列(转载)

    越来越多公司采用敏捷开发,单元和回归测试越来越重要,GTest作为最佳C++单元测试工具越来越多的被使用.转自 http://www.cnblogs.com/coderzh/archive/2009/ ...

  2. Google的开源C++单元测试框架Google Test

    玩转Google开源C++单元测试框架Google Test系列(gtest)(总) 前段时间学习和了解了下Google的开源C++单元测试框架Google Test,简称gtest,非常的不错. 我 ...

  3. 转:玩转Google开源C++单元测试框架Google Test系列

    转自http://www.cnblogs.com/coderzh/archive/2009/04/06/1426755.html 前段时间学习和了解了下Google的开源C++单元测试框架Google ...

  4. 玩转Google开源C++单元测试框架Google Test系列(gtest)(转)

    转自:http://www.cnblogs.com/coderzh/archive/2009/04/06/1426755.html 前段时间学习和了解了下Google的开源C++单元测试框架Googl ...

  5. 玩转Google开源C++单元测试框架Google Test系列(gtest)(总)

    原文地址:http://www.cnblogs.com/coderzh/archive/2009/04/06/1426755.html 前段时间学习和了解了下Google的开源C++单元测试框架Goo ...

  6. [转]玩转Google开源C++单元测试框架Google Test系列(gtest)(总)

    文章转载自CoderZh的技术博客 地址:https://www.cnblogs.com/coderzh/archive/2009/04/06/1426755.html 前段时间学习和了解了下Goog ...

  7. [转]玩转Google开源C++单元测试框架Google Test系列

    gtest的官方网站是: http://code.google.com/p/googletest/ 从官方的使用文档里,你几乎可以获得你想要的所有东西 http://code.google.com/p ...

  8. Google开源C++单元测试框架Google Test

    1.玩转Google开源C++单元测试框架Google Test系列(gtest)之一 - 初识gtest 2.玩转Google开源C++单元测试框架Google Test系列(gtest)之二 - ...

  9. windows下配置mysql数据库监视工具Mysqlreport

    该工具除了可以监控本机Mysql数据库外,也可以监控远程服务器mysql数据库 需要的工具: 1:perl脚本解析工具安装: http://www.activestate.com/activeperl ...

随机推荐

  1. 分析python程序运行时间的几种方法

    最早见过手写的,类似于下面这种: 1 import datetime 2 3 def time_1(): 4 begin = datetime.datetime.now() 5 sum = 0 6 f ...

  2. Git更新到最新版本

    添加git的ppa源sudo apt-add-repository ppa:git-core/ppasudo apt-get updatesudo apt-get upgrade

  3. JavaWeb---总结(一)JavaWeb开发入门

    一.基本概念 1.1.WEB开发的相关知识 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资源分为: 静态web资源( ...

  4. angular $emit发送 后退时$on多次接收

    angular 并列作用域,作用域不存在上下级关系,$scope.$emit发送时 后退时$rootScope.$on会出现接收多个消息的情况 $rootScope.$on('saveDraft', ...

  5. 9.19 JS数组

    数组:相同类型数据的集合强类型语言:1数组里面只能存放相同数据类型的数据     2定义数组的时候需要制定一个长度(可以存放的元素数量)     3内存空间连续集合:1.可以存放任意类型的数据     ...

  6. Java Connection.setAutoCommit

    Java setAutoCommit 默认为true,即每条SQL语句在各自的一个事务中执行. 很多时候需要有多个操作在一个事务执行,如循环插入,此时可在插入开始前设置 conn.setAutoCom ...

  7. swiper超出部分出现滚动条

    html代码 <div class="wrap swiper-container"> <div class="swiper-wrapper"& ...

  8. iOS7以上图片模糊效果

    模糊后的效果 模糊后的效果 框架UIImage+BlurredFrame里的 applyLightEffectAtFrame方法 例如 bgImage = [bgImage applyLightEff ...

  9. asp.net(C#)页面事件顺序

    asp.net(C#)页面事件顺序 http://www.cnblogs.com/henw/archive/2012/02/09/2343994.html   1 using System.Data; ...

  10. git diff

    git diff  工作区与暂存区的差别 git diff -cached / git diff -staged  暂存区与版本库的差别 git diff HEAD  工作区与版本库的差别 git d ...