GoogleTest入门】的更多相关文章

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官网 基本概念 要使用GoogleTest,需要包含header gtest/gtest.h 断言Assertions 断言是检查条件是否为真的语句,其结果可能是成功或失败,失败分为非致命失败和致命失败两种,后者会终止当前运行,前者则会继续运行. GoogleTest中,断言类似于函数调用的宏,断言失败时,GoogleTest会输出断言的源文件和行号位置以及失败消息(所有断言都可以使用<<输出自定义失败消息) ASSERT_* 会抛出致命失败故障的断言,断言失败时中…
Why googletest? 为啥要用GoogleTest呢? googletest 是由测试技术Team 开发的带有google 特殊的需求和限制的测试框架. 不管你在什么平台上写C++代码,googleTest 可以帮助你实现任何类型的测试,不仅仅是单元测试 那么是什么成就了一个好的测试,googletest为什么能适用? we believe: 1.  测试必须是独立的,并且是可以重复的.debug 非常痛苦因为发现 一个测试成功失败依赖于其他测试. googleTest 通过在不同的o…
之前一个月都在学习googletest框架,对googletest的文档都翻译了一遍,也都发在了之前的博客里,另外其实还有一部分的文档我没有发,就是GMock的CookBook部分:https://github.com/google/googletest/blob/master/googlemock/docs/CookBook.md.这部分我也翻译了,也写了很多代码,但是这部分文档太长了,很难看完,除非是真用到里边的内容才会去里面找,所以就不在这浪费笔墨,如果有想要的可以在下边评论.截了个图:…
参考 CMake 入门实战 在 linux 平台下使用 CMake 生成 Makefile 并编译的流程如下: 编写 CMake 配置文件 CMakeLists.txt . 执行命令 cmake PATH 或者 ccmake PATH 生成 Makefile(ccmake 和 cmake 的区别在于前者提供了一个交互式的界面).其中, PATH 是 CMakeLists.txt 所在的目录. 使用 make 命令进行编译. 本文将从实例入手,一步步讲解 CMake 的常见用法,文中所有的实例代码…
gMock是什么 当我们去写测试时,有些测试对象很单纯简单,例如一个函数完全不依赖于其他的对象,那么就只需要验证其输入输出是否符合预期即可. 但是如果测试对象很复杂或者依赖于其他的对象呢?例如一个函数中需要访问数据库或者消息队列,那么要想按照之前的思路去测试就必须创建好数据库和消息队列的客户端实例,然后放在该函数内使用.很多时候这种操作是很麻烦的,此时Mock Object就能帮助我们解决这个问题.一个Mock Object实现与真实对象相同的接口,它可以替代真实对象去使用,而我们要做的就是制定…
上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web api来提供调用:好在Angular2提供了本地模拟的api,可以供我们编写方便:但是,真实使用的情况往往与本地模拟有一些差别,会存在跨域等一系列问题:这些不在本篇文章的讲解范围之内,如果在.net下遇到跨域问题可以直接私信我. Angular的http模块并不是Angular2的核心模块,你并不一…
作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从python到Node.js,了解过设计模式,也跟风了微信公众号开发.然而却浅尝辄止,未曾深入.买了一本本的技术书籍,没完整的翻完一本.屯了一部部的pdf,却只是在手机里占着内存.想过改变,却从未曾着手改变. 以上算是我程序猿生涯的真实写照. 现在我要尝试改变,从基础的helloworld开始,记下学习…
一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计值. 分析函数和聚合函数的不同之处是什么?普通的聚合函数用group by分组,每个分组返回一个统计值,而分析函数采用partition by分组,并且每组每行都可以返回一个统计值. 分析函数的形式分析函数带有一个开窗函数over(),包含三个分析子句:分组(partition by), 排序(or…
上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数 之前介绍了简单的路由以及传参,这篇文章我们将要学习复杂一些的路由以及传递其他附加参数.一个好的路由系统可以使我们的程序更好的工作. 假设你已经跟上了我们的进度. 我们来为我们的文章明细新增一个评论框:当我们在明细中点击评论的时候,在我们的明细页面显示评论,这里,我们就可以完全把明细页面看成一个独立的路由,可以建立自己的子路由页面,做一些评论,分享等操作. 那,首先在data目录下建立我们的评论实体Commen…
上一篇:Angular2入门系列教程-服务 上一篇文章我们将Angular2的数据服务分离出来,学习了Angular2的依赖注入,这篇文章我们将要学习Angualr2的路由 为了编写样式方便,我们这篇文章开始引入第三方的css库materializecss,引入方法直接在index.html中普通引用就可以了 众所周知,Angular出现的目的就是解决web编程的一些限制,让我们编写的网页能像App一样运作,我们现在称之为单页面应用(SPA),单页面应用程序有诸多好处,譬如页面响应快,良好的前后…
上一篇文章 Angular2入门系列教程-多个组件,主从关系 在编程中,我们通常会将数据提供单独分离出来,以免在编写程序的过程中反复复制粘贴数据请求的代码 Angular2中提供了依赖注入的概念,使得我们可以很优雅得做到这一点.这里简单描述下,依赖注入可以使我们在编写代码的时候不用使用new 去生成一个类,这样就达到了解耦的目的,更多关于依赖注入的知识我觉得不应该在这里讲解 和其他方式类似,Angular2使用的是装饰器@Injectable()来描述以一个类是否可注入,我们本篇文章的目的,就是…
十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助webpack将符合条件的源文件转换为对应的目标格式文件.比如index.scss转换成index.css 安装成功后,package.json文件变化如下: 接着,安装extract-text-webpack-plugin,让webpack可以输出css格式的文件 npm install --save-…
六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.exports = { // 配置入口 entry: { }, // 编译后的文件路径 output: { path: '', // 文件路径 filename: '' // 文件名称 }, module: { // 编译规则 loaders: [] }, // 辅助的插件 plugins:[] }…
一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install -g webpack 如果公司网络是设置代理的,要设置下代理地址 npm config set proxy http://***/ 三.建立项目文件夹 我在本机的E盘上,建了一个名称为demo的文件夹 四.初始化package.json 1.cmd控制台进入E盘下的demo文件夹 2.输入 npm…
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者服务器 一.安装webpack 你需要之前安装node.js $ npm install webpack -g 安装成功后,便可以使用webpack命令行了. ok,开始工作! 二.新建一个空目录,名字为myApp,文件如下 entry.js document.write("It works.&qu…
一.从官网创建模板项目 进入官网下载模板项目 依次按下图选择: 输入验证码开始下载 下载提示: 二.启动项目 使用VS2015打开项目,还原Nuget包: 设置以Web结尾的项目,设置为启动项目: 打开Web.config,修改连接字符串.(因为我本地装的sqlserver是实例是.sqlexpress,所以需要手动修改server.) 打开程序包管理器控制台,选择以EntityFramework结尾的项目,并执行Update-Database,以创建数据库. Ctrl+F5运行,使用账号adm…
前言 在上一篇文章中,我们学习了 CookieAuthentication 中间件,本篇的话主要看一下 Identity 本身. 最早2005年 ASP.NET 2.0 的时候开始, Web 应用程序在处理身份验证和授权有了很多的变化,多了比如手机端,平板等,所以那个时候为了适应这种变化就引入了ASP.NET Membership,但是随着时间的发展一些社交网站或者程序聚集了大量的用户,比如Facebook,Twitter,QQ等,这个时候用户希望能够使用他们在这些社交站点身份来登陆当前网站,这…
前言: 经过前面那么多篇的列表的介绍,终于到了大伙期待的表单开发了. 也是本系列的最后一篇文章了! 1:表单页面的权限设置与继承 对于表单页面,权限的设置有两种: 1:你可以选择添加菜单(设置为不显示)并配置权限. 2:不设置权限,继承自父页面. 因此,如果你单独打开一个没有单独设置权限的页面,得到的效果就是: 2:简单单表的开发Demo 1:新建ArticleEdit.html html是从UserEdit.html Copy过来简单调整的,毕竟为了统一样式. 当然你也可以自定义样式,那样的话…
前言: 抓紧勤奋,再接再励,预计共10篇来结束这个系列. 上一篇介绍:ASP.NET Aries 入门开发教程6:列表数据表格的格式化处理及行内编辑 本篇介绍主键操作区相关内容. 1:什么时候有默认的编辑与删除? 只有开启行编辑(且有相应的权限时),才有默认的操作区,并出现编辑和删除图标. var dg = new AR.DataGrid("Article", "Article", "grid"); dg.isEditor = true; ...…
前言: 为了赶进度,周末也写文了! 前几篇讲完查询框和工具栏,这节讲表格数据相关的操作. 先看一下列表: 接下来我们有很多事情可以做. 1:格式化 - 键值的翻译 对于“启用”列,已经配置了格式化 #是否,已经可以看到效果了. 对于分类ID列,通常显示的是分类名称,而不是ID值. 可是分类名称不在文章表里,在文章分类表,怎么关联格式化呢? 我们有文章分类表: 所以我们写个下拉配置: 然后在配置表头里把它配置上: 效果: PS:通过自定义语句来翻译下拉项的注意事项: 1:翻译项的数量在100以下,…
背景: 今天去深圳溜达了一天,刚回来,看到首页都是微软大法好,看来离.NET的春天就差3个月了~~ 回到正题,这篇的教程讲解下拉配置. 查询区的下拉配置: 1:查询框怎么配置成下拉? 在配置表头:格式化配置 #是否 PS:格式化配置除了用来格式化表格的内容,同样也会下拉进行格式化. 效果: 那“#是否”是哪里来的? 在配置维护里来的,对于固定的选项,统一在这里配置: 2:查询框下拉能不能多选? 配置格式规则即可:multiple属性 效果: 3:查询框下拉能不能级联? 配置格式化规则指向上一级即…
背景: 鉴于框架的使用者越来越多,文档太少,不少用户反映框架的入门门槛太高. 好吧,再辛苦下,抽时间写教程吧! 步骤1:下载框架源码 开源地址:https://github.com/cyq1162/Aries 建议用SVN或Git下载,因为随时可以更新.(打包Zip下的载的,更新升级不方便) 步骤2:F5 运行起来 数据库默认是指向文本数据库,所以可以直接运行,看到登陆界面: 默认用户名密码是:admin,111111,已经写在html中了. 点登陆,如果提示如下: 那你就打开web.confi…
2016年6月27日.NET Core & ASP.NET Core 1.0在Redhat峰会上正式发布,社区里涌现了很多文章,我也计划写个系列文章,原因是.NET Core的入门门槛相当高,很有必要写个深入浅出的系列文章,本节内容帮助你入门.我将可能用Windows做开发环境,也可能用Linux/Mac,但是所有的dotnet CLI命令都是跨平台的,我们在windows/Linux/mac平台上开发跨平台的应用. 安装.NET Core .NET Core 包括.NET Core Runti…
一 .前言 一直在做PC端的前端开发,从互联网到行业软件.最近发现移动端已经成为前端必备技能了,真是不能停止学习.HTML5新增的一些东西,canvas是用的比较多也比较复杂的一个,简单的入门了一下,通过一个刮奖效果来学习. 二.canvas基础 本文的目标是做一个刮奖效果,但是如果都不知道canvas是怎么回事,那么肯定也无法进行下去,所以先讲讲canvas基础吧. 首先,该怎么理解canvas,思来想去,最好的理解办法应该就是把canvas理解为一个空白的画纸,一张你可以在上面画画的纸. 然…
示例代码下载:Linq之旅:Linq入门详解(Linq to Objects) 本博文详细介绍 .NET 3.5 中引入的重要功能:Language Integrated Query(LINQ,语言集成查询).通过LINQ,我们可以使用相同API操作不同的数据源.接下来就让我们看看LINQ是什么以及如何使用? 再此之前,需要先了解的相关技术 1.        隐式类型.匿名类型.对象初始化器 1)        隐式类型,使用var关键字创建,C#编译器会根据用于初始化局部变量的初始值推断出变…
现在最热门的前端框架有AngularJS.React.Bootstrap等.自从接触了ReactJS,ReactJs的虚拟DOM(Virtual DOM)和组件化的开发深深的吸引了我,下面来跟我一起领略ReactJs的风采吧~~ 文章有点长,耐心读完,你会有很大收获哦~  一.ReactJS简介 React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站.做出来以后,发现这套东西很…
webpack入门教程系列为官网Tutorials的个人译文,旨在给予想要学习webpack的小伙伴一个另外的途径.如有不当之处,请大家指出. 看完入门教程系列后,你将会学习到如下内容: 1.如何安装webpack 2.如何使用webpack 3.如何使用loaders 4.如何使用开发服务器 话不多说,马上开启我们的webpack之旅...... 一.安装webpack(依赖nodeJs环境,nodejs环境的搭建不在此赘述) npm install webpack -g 二. Hello W…
准备来一波新技术,待续.... Old: 联系源码:https://github.com/dunitian/LoTHTML5 文档下载:https://github.com/dunitian/LoTDotNet/ 思维导图(不断更新): 图片:http://dnt.dkill.net/DNT/HTML5/index.jpg 源码:http://dnt.dkill.net/DNT/HTML5/h5.zip 在线文档:http://dnt.dkill.net/DNT/HTML5 00.Web大前端时…
 入门看视频,提高看书籍,飘升做项目.老练研开源,高手读外文,大牛讲低调~    官方学习计划 http://www.cnblogs.com/dunitian/p/5667901.html ------------------------------------------------------------------------------------ 旧资源全部删除,直接看整合版 http://tieba.baidu.com/p/3783667386?see_lz=1 ==========…