Why googletest? 为啥要用GoogleTest呢? googletest 是由测试技术Team 开发的带有google 特殊的需求和限制的测试框架. 不管你在什么平台上写C++代码,googleTest 可以帮助你实现任何类型的测试,不仅仅是单元测试 那么是什么成就了一个好的测试,googletest为什么能适用? we believe: 1.  测试必须是独立的,并且是可以重复的.debug 非常痛苦因为发现 一个测试成功失败依赖于其他测试. googleTest 通过在不同的o…
准备工作 为了在你的测试中使用GoogleTest, 你必须让你的编译系统 知道到哪里去寻找GoogleTest 的头文件和源文件. 具体的方法只能依赖于你具体使用的哪种编译系统了,一般来讲这个非常容易直接的. 编译 如果你的GoogleTest 放在${GTEST_DIR} 目录下面.(使用 Visual Studio 和 Xcode)编译它产生一个库. ${GTEST_DIR}/src/gtest-all.cc 下面是对通用的编译方法解释,直接略过,参看https://github.com/…
当你写一个原型或者测试的时候,依赖整个object 是不可行和明智的.一个 mock object和 real object 有同样的接口(所以它可以像同一个使用),但是让你在运行时进行指定它应该如何被使用,它应当做什么(哪些方法应该被调用?以何种顺序?多少次?用什么参数?什么会被返回?) 注意:很容易弄混 fake objects 和 mock objects.实际上fakes 和 mocks意味着不同的事情在Test-Driven Development(TDD)社区: Fake objec…
1. 前言 下载最新版的JavaEE eclipse-jee-oxygen-2-win32-x86_64.zip 安装STS插件 Window->Eclipse Marketplace -> popular 下那个 Spring Tools(aka Spring IDE and Spring Tool Suite) 然后通过STS工具创建一个新的Spring boot工程,这里就不细说了.网上资料很多,也比较简单就可以搭建起来.后面对SpringBoot也只是简单的提一下,还有说一下注意点.没…
本文内容 Python介绍 安装Python解释器 输出 变量 输入 条件判断语句 循环语句 模块讲解 三元运算 字符串和二进制的相互转化 本系列文章使用的Python版本为3.6.2 使用开发工具为Pycharm2017 一.Python介绍 Python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. 最新的TIOBE排行榜,Python赶超PHP占据第五, …
Javascript概述: Javascript是基于对象和事件的脚本语言.特点; 1.安全性(不允许直接访问本地硬盘),它可以做的就是信息的动态交互. 2.跨平台性. JavaScript与HTML的结合方式: 想要将其他代码融入HTML,都是以标签的形式. 1. Js代码存放在标签对<script type="text/javascript">....<script> 2. 使用JavaScript标签引入Js文件.如: <script type=&q…
简单讲SpringBoot是对spring和springMVC的二次封装和整合,新添加了一些注解和功能,不算是一个新框架. 学习来源是官方文档,虽然很详细,但是太墨迹了… 地址:https://docs.spring.io/spring-boot/docs/1.5.8.RELEASE/reference/htmlsingle/#boot-documentation 我是配合maven来学习的,所以首先是pom.xml的配置,根据官方文档如下: pom.xml <parent> <grou…
Webflux: webflux是在springboot2系列引入的技术:补充一些概念: 1> Reactive Streams 是 JVM 中面向流的库标准和规范: 处理可能无限数量的元素 按顺序处理 组件之间异步传递 强制性非阻塞背压(Backpressure) 2> Backpressure(背压):背压是一种常用策略,使得发布者拥有无限制的缓冲区存储元素,用于确保发布者发布元素太快时,不会去压制订阅者. Reactive Streams(响应式流) 一般由以下组成: 发布者:发布元素到…
一.Docker介绍        Docker是Docker.lnc公司开源的一个基于LXC技术之上构建的Container容器引擎,源代码托管在Github上,基于Go语言并遵从Apache2.0协议开源.  Docker是通过内核虚拟化技术(namespaces及cgroups等)来提供容器的资源隔离与安全保障等.由于Docker通过操作系统层的虚拟化实现隔离,所以Docker容器在运行时,不需要类似虚拟机(VM)额外的操作系统开销,提高资源利用率. 二.Docker是什么? Docker…
一.SaltStack介绍        SaltStack是一个服务器基础架构集中化管理平台,SaltStack基于Python语言实现,也是基于C/S架构,结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq.PyCrypto.Pyjinjia2.python-msgpack和PyYAML等)构建,SaltStack整合了Puppet和Chef的功能,更适合大规模批量管理服务器,配置简单. 三大主要功能:远程执行.配置管理.云管理 运行方式:local.Master/Min…
之前一个月都在学习googletest框架,对googletest的文档都翻译了一遍,也都发在了之前的博客里,另外其实还有一部分的文档我没有发,就是GMock的CookBook部分:https://github.com/google/googletest/blob/master/googlemock/docs/CookBook.md.这部分我也翻译了,也写了很多代码,但是这部分文档太长了,很难看完,除非是真用到里边的内容才会去里面找,所以就不在这浪费笔墨,如果有想要的可以在下边评论.截了个图:…
单元测试概述 测试并不只是测试工程师的责任,对于开发工程师,为了保证发布给测试环节的代码具有足够好的质量( Quality ),为所编写的功能代码编写适量的单元测试是十分必要的. 单元测试( Unit Test ,模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的.很明确的功能是否正确,通过编写单元测试可以在编码阶段发现程序编码错误,甚至是程序设计错误. 单元测试不但可以增加开发者对于所完成代码的自信,同时,好的单元测试用例往往可以在回归测试的过程中,很好地保证之前所发生的修改没有…
直接在CMake项目中编译GoogleTest和GoogleMock作为项目的一部分 本文是关于如何将GoogleTest和GoogleMock在没有预先编译安装在机器的情况下,直接在项目中作为项目的一部分进行编译. 目录: 环境依赖 GoogleTest和GoogleMock 在CMake项目中配置GoogleTest和GoogleMock 1. 环境依赖 Note: 环境只列出了本文实现过程中本人机器的配置,不代表最低配置 ubuntu 14.04 64位 CMake 2.8 2.Googl…
编译gtest 下载指定tag的源代码 git clone https://github.com/google/googletest.git cd googletest git checkout tags/release-1.8.1 -b release-1.8.1 编译 cd googletest export GTEST_DIR=/xxxx/googletest/googletest g++ -std=c++11 -isystem ${GTEST_DIR}/include -I${GTEST…
0. 前言 时隔多日,前段时间忙完一个可有可无的项目后,又进入摸鱼时间,没有办法,非互联网公司,就是闲得蛋疼.又开始了自学之路.以前入门过Docker,然后又很久没有看了,最近重新看了一下,推荐一下这个人的博客: https://www.cnblogs.com/CloudMan6 写得不错,深入浅出.然后学着测试练习一下,部署Etcd服务当作练手.下面是利用Docker部署一个Etcd单机集群测试环境.顺便回顾一下Docker 基本操作. 由于Docker更新特别快,需要较新的Linux内核版本…
原文http://www.cnblogs.com/smallSevens/p/7501932.html#3782600 三分钟读懂TT猫分布式.微服务和集群之路   针对新手入门的普及,有过大型网站技术架构牛人路过,别耽误浪费了时间,阅读之前,请确保有一定的网络基础,熟练使用Linux,浏览大概需要3-5分钟的时间,结尾有彩蛋. 目录 分布式 微服务 负载均衡集群 高可用集群 弹性云 故障转移 总结 分布式 小马正在经营一个在线购物网站,名叫TT猫,有商品管理.订单管理.用户管理.支付管理.购物…
介绍 1. 背景 最近和部门老大,一起在研究团队[EFT - 前端新手村]的建设,目的在于:帮助新人快速了解和融入公司团队,帮助零基础新人学习和入门前端开发并且达到公司业务开发水平. 本文也是属于[EFT - 前端新手村]的一部分,用来帮助新人快速入门 Webpack4,内容偏基础,当然也可以作为复习材料~~这里分享给各位小伙伴啦! 2. 文章概要 由于本文篇幅较长,将分为<Webpack4入门手册(上)(共 18 章)>和<Webpack4入门手册(下)(共 18 章)>两篇文章…
介绍 1. 背景 最近和部门老大,一起在研究团队[EFT - 前端新手村]的建设,目的在于:帮助新人快速了解和融入公司团队,帮助零基础新人学习和入门前端开发并且达到公司业务开发水平. 本文也是属于[EFT - 前端新手村]的一部分,用来帮助新人快速入门 Webpack4,内容偏基础,当然也可以作为复习材料~~这里分享给各位小伙伴啦! 2. 文章概要 由于本文篇幅较长,将分为<Webpack4入门手册(上)(共 18 章)>和<Webpack4入门手册(下)(共 18 章)>两篇文章…
介绍 1. 背景 最近和部门老大,一起在研究团队[EFT - 前端新手村]的建设,目的在于:帮助新人快速了解和融入公司团队,帮助零基础新人学习和入门前端开发并且达到公司业务开发水平. 本文也是属于[EFT - 前端新手村]的一部分,用来帮助新人快速入门 Webpack4,内容偏基础,当然也可以作为复习材料~~这里分享给各位小伙伴啦! 2. 文章概要 我将从最基础的[项目初始化]开始介绍,到[处理 CSS / JS / 图片],到[热更新,打包优化]等等,一一介绍和实践. 文章共分为 18 章,关…
前端工作面试问题 本文包含了一些用于考查候选者的前端面试问题.不建议对单个候选者问及每个问题 (那需要好几个小时).只要从列表里挑选一些,就能帮助你考查候选者是否具备所需要的技能. 备注: 这些问题中很多都是开放性的,可以引发有趣的讨论.这比直接的答案更能体现此人的能力. 目录 常见问题 HTML 相关问题 CSS 相关问题 JS 相关问题 测试相关问题 效能相关问题 网络相关问题 代码相关问题 趣味问题 贡献者 如何参与贡献 许可协议 参与协作 常见问题: 你在昨天/本周学到了什么? 编写代码…
Qter开源社区http://www.qter.org/ [Qt教程], 作者yafeilinux [视频] QT学习之路:从入门到精通 <C++ Qt 编程视频教程>…
目前企业数据中心正在发生重大变化,许多企业正在经历基于在线服务和数据的广泛转型.他们将这些数据用于功能强大的人工智能和分析应用程序,这些应用程序可以将其转化为改变业务的洞察力,然后推出可以使这些洞察力发挥作用的工具和服务. 他们希望将关键的内部部署功能迁移到云,并稳步在公共云和私有云之间找到适当的平衡点.他们正在寻找新的方法来为规模和速度提供强大安全性.所有这些都需要一种新的服务器和网络基础设施,针对人工智能,分析,海量数据集等进行优化,这就需要新的革命性CPU提供支持. 新的英特尔至强可扩展处…
mac 安装gtest 1.git clone https://github.com/google/googletest 2.cd googletest 3.brew install cmake如果没装的话 4.cmake CMakeLists.txt 5.拷贝库和头文件 cp libgtest*.a /usr/local/lib cp –a include/gtest /usr/local/include 运行里面的 sample里面的sample1 cd make make Makefile…
博客专栏大神 王晓华(算法的乐趣) 算法系列:http://blog.csdn.net/orbit/article/category/830251 PostgreSQL深入理解内核系列:http://blog.csdn.net/beiigang/article/category/947307 Hadoop集群系列(虾皮博客园):http://www.cnblogs.com/xia520pi/category/346943.html JAVA .Android和数据结构与算法专栏:http://w…
单元测试概述 测试并不只是测试工程师的责任,对于开发工程师,为了保证发布给测试环节的代码具有足够好的质量( Quality ),为所编写的功能代码编写适量的单元测试是十分必要的. 单元测试( Unit Test ,模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的.很明确的功能是否正确,通过编写单元测试可以在编码阶段发现程序编码错误,甚至是程序设计错误. 单元测试不但可以增加开发者对于所完成代码的自信,同时,好的单元测试用例往往可以在回归测试的过程中,很好地保证之前所发生的修改没有…
从JDK5之后,Java提供了一种更简单的循环:foreach循环,也叫作增强for循环,这种循环遍历数组和集合更加简洁.使用foreach循环遍历数组和集合元素时,无需获得数组或集合的长度,无需根据索引来访问数组元素或集合元素,foreach循环自动遍历数组或集合的每个元素. foreach循环的语法格式如下: for(type variableName:array|collection){ //variableName自动迭代访问每个元素 } 在上面语法格式中,type是数组元素或集合元素的…
(t20190518) luo@luo-All-Series:~/MyFile$ (t20190518) luo@luo-All-Series:~/MyFile$ (t20190518) luo@luo-All-Series:~/MyFile$ (t20190518) luo@luo-All-Series:~/MyFile$ git clone https://github.com/protocolbuffers/protobuf.gitCloning into 'protobuf'...rem…
Googletest入门 来源:https://github.com/google/googletest/blob/master/googletest/docs/primer.md P.S. gmock作为gtest的孪生兄弟,其通俗介绍可以看这篇:https://blog.csdn.net/wangjingqi930330/article/details/80525056 简介:为啥用googletest 用googletest是为了写更好的测试代码 googletest是谷歌专门的测试框架团…
Googletest Primer 原文地址:https://github.com/google/googletest/blob/master/googletest/docs/primer.md Introduction: Why googletest? googletest helps you write better C++ tests. googletest is a testing framework developed by the Testing Technology team wi…
参考: GoogleTest官网 基本概念 要使用GoogleTest,需要包含header gtest/gtest.h 断言Assertions 断言是检查条件是否为真的语句,其结果可能是成功或失败,失败分为非致命失败和致命失败两种,后者会终止当前运行,前者则会继续运行. GoogleTest中,断言类似于函数调用的宏,断言失败时,GoogleTest会输出断言的源文件和行号位置以及失败消息(所有断言都可以使用<<输出自定义失败消息) ASSERT_* 会抛出致命失败故障的断言,断言失败时中…