自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Anthony_tester的博客

公众号:AnthonyTestDevHouse,探索从QA角色到开发角色的转换之路(Q群574103281)

  • 博客(28)
  • 收藏
  • 关注

原创 GTest基础学习-06-第6个单元测试-接口测试(类型参数驱动)

前面的文章学习了使用gtest进行函数级的测试和类级的测试,这篇来学习如何通过gtest来测试接口。这个接口我们在prime_table.h中,接口的头和实现部分都放置同一个文件,这个文件也在sample文件夹下。...

2020-08-30 23:00:12 5894 2

原创 GTest基础学习-05-第5个单元测试-父test fixture和子test fixture的使用

这篇来学习Gtest官方示例中的第5个,为什么直接跳过第4个,因为第四个是测试一个简单的计数器,看了下单元测试内容,没有新的知识点,就一个TEST,里面使用了连续3 4个EXPECT_TRUE断言宏。完全没有任何新的知识点,就不再介绍第4个例子,直接来看第五个。第五个是介绍test fixture可以通过继承使用父类中的测试夹具。1.场景这个例子教我们如何在多个测试用例中复用测试夹具:通过派生子夹具。当你定义好了一个测试夹具,你指定一个测试用例使用这个测试夹具。一个测试夹具只能被一个测试用例使.

2020-08-29 16:55:50 4042

原创 GTest基础学习-04-第3个单元测试-测试夹具test fixture

这篇来学习一下Gtest中更高级一些的特性test fixture,测试夹具的基本上使用。什么的场景需要使用到测试夹具呢?测试夹具是哪个宏,这篇来学习这个主题。1.什么叫test fixture什么是测试夹具,这个概念在任何xUnit系列的单元测试框架都会出现。一般是指,所有的测试用例都可以共享的步骤,例如初始化和事后清理操作,能提供这个功能的对象叫test fixture。在test fixture是这样使用的,我们需要单独写一个类并且继承testing::Test,如果有必要都需要实现.

2020-08-29 13:52:10 6500 1

原创 GTest基础学习-03-第2个单元测试-类级的单元测试

继续学习gtest框架中自带的单元测试范例,前面第一个单元测试是基于函数级别,主要就是测试函数内部的逻辑覆盖,函数内部读个分支建议都设计单元测试去覆盖到。主要学习到TEST这个宏,里面有两个参数,第一个参数是测试名称,第二个参数是测试用例名称。gtest这里测试名称和测试用例名称确实有点概念绕,然后学习到了EXPECT_EQ(预期结果,实际结果), 这个断言宏如果发生失败,会在控制台打印输出预期结果和实际结果,方便调试修改测试代码。1.测试名称和测试用例名称在GTest宏中,一个基本的单元测试.

2020-08-29 09:15:53 2319

原创 GTest基础学习-02-第一个单元测试-函数级的单元测试

这篇开始学习单元测试示范,在GTest这个下载包,里面有一个samples文件夹,里面有10个单元测试例子,告诉我们怎么去使用googletest这个测试框架。我认为,这种官方文档,是十分有必要认真,一个一个学习完成,你才可以说基本会用GTest这个框架。我们先学习会用,高级的原理层我们等有基础再尝试去看看源码学习学习。1.第一个单元测试:n的阶乘和n是否素数两个函数的单元测试一共三个文件,一个头文件,一个实现文件,一个是单元测试文件。典型模拟我们真实项目中的情况。2.相关代码拷..

2020-08-28 00:09:43 1751

原创 GTest基础学习-01-开发环境安装和配置

新学习一个知识点,学习一个主流的C++单元测试框架googletest,简称GTest。GTest也模仿了XUnit单元测试框架的风格,由于C++语言的特点,GTest一般都是开发人员使用,而且使用真的不算多,因为开发人员都不喜欢写测试代码。如果想要做C++产品的白盒测试或者接口测试,学习GTest是一个比较好的单元测试框架,会帮助我们提升编写单元测试用例的速度。 GTest网上有很多文章,很多都是介绍第一篇环境搭建,然后就不了了之。确实看到过一位大牛写过GTest的一个系列文...

2020-08-26 00:01:37 2917 3

原创 C++ STL常用算法-67-集合算法-交集/并集/差集

这篇是学习常用算法的最后一篇,来学习三个集合算法。主要和数学几个概念有关系,交集 并集 和差集。下面分别用代码来练习每一个集合算法。算法简介:set_intersection //求两个容器的交集set_union //求两个容器的并集set_difference //求两个容器的差集1.set_intersection 交集求两个容器的交集函数原型:set_intersection()返回数据存储在另一个容器,容器的大小建...

2020-08-23 22:48:05 4901 1

原创 C++ STL常用算法-66-算数算法-accumulate和fill

这篇来学习两个数学算法算法,这两个算法在头文件numeric中,属于小众算法,其实我们大部分使用的算法都包含在头文件algorithm中。算法简介accumulate //计算容器元素累计总和fill //向容器中添加元素1.accumulate作用:计算区间内元素的总和函数原型:accumulate(iterator beg, iterator end, value);参数解释:参数3是一个起始叠加值,一般设置为0.#include <iostre...

2020-08-23 22:16:36 490

原创 C++ STL常用算法-65-拷贝和替换算法

继续学习C++中常用的算法基本使用,这篇学习拷贝和替换算法,一共有四个,用来操作容器中指定范围的元素的拷贝和替换操作。算法简介:copy //容器内指定范围的元素拷贝到另一容器中replace //将容器内指定范围的旧元素修改为新元素replace_if //容器内指定范围满足条件的元素替换为新元素swap //互换两个容器的元素1.copy 拷贝算法函数原型:copy(iterator beg, iterator end, iterator d...

2020-08-23 17:29:39 511

原创 C++ STL常用算法-64-排序算法_merge合并/reverse反转

这篇继续学习C++中的排序算法,还剩merge合并算法和reverse反转算法。合并就是把两个相同类型的容器合并到第三个容器中,这个合并是有条件的。反转就是原来是队列头部,反转后变成队列尾部。反转感觉在面试考察比较多,不管是JAVA还是C++的面试。1.merge合并作用:将两个容器合并到第三个容器函数原型:merge(iteator v1.begin,iteator v1.end,iteator v2.begin,iteator v2.end,iteator v3.begin);...

2020-08-22 22:48:43 720

原创 DevOps基础-4.3-基础架构自动化:不可变的部署

在上一个篇文章中,我们解释了配置管理和编排工具的简单使用。但是,CM领域正在发生一些新的变化。虽然CM演进的道路仍在继续,但在配置级别上有一些有趣的发展,公共和私有云计算导致模型驱动自动化的出现,其中底层系统的声明模型可用于创建系统。 亚马逊拥有云计算,Azure拥有Azure资源管理器模板等。出现了一个非常合理的问题,为什么我的系统使用一个模型,我的操作系统配置...

2020-08-22 22:28:29 1305

原创 JSON入门Java篇-5-用JavaBean来构建JSON

前面我们介绍用JSONObject和HashMap来构造JSON数据,其实实际项目开发中,可能更多利用JavaBean来构造JSON。简单来说,JavaBean是可复用的平台独立的软件组件,也就是说复用性很高。1.打开eclipse,新建两个包2.JavaBean类内容如下package bean;/** * @author Administrator * */

2020-08-22 22:27:51 1571

原创 C++ STL常用算法-63-排序算法_sort/random_shuffle

这篇来学习几个常见的排序相关的算法,前面我们学习过sort()这个排序算法,传入迭代器开始和结束,第三个参数如果不填,默认就是升序,如果第三个参数是一个仿函数,返回值类型是bool,也叫谓词,就按照你传入的规则进行排序。1.排序相关的算法sort //对容器内元素进行排序random_shuffle //洗牌,指定范围内元素随机调整次序merge //容器元素合并,并存储到另一个容器中reverse //反转指定范围的元素2.sort作用:给容器指定范围的元素进行..

2020-08-22 22:15:15 424

原创 C++ STL常用算法-62-查找算法_binary_search/count/count_if

前面一篇学习了常用查找算法的三个方法,现在接着学习剩下三个查找相关的算法。binary_search,这个二分查找,在任何语言中都是重点需要掌握的,面试经常被考察。二分查找是一种解决问题的思想,在实际工作中排查错误,定位什么节点开始出现错误的,也是通过人工二分查找或者自动化脚本二分查找去定位。count是查找出现元素的个数,count_if是带条件查找统计结果的函数。1.binary_search 二分查找功能描述:查找指定元素是否存在,返回布尔值类型函数原型:bool binary_s.

2020-08-22 13:16:26 524

原创 C++ STL常用算法-61-查找算法_find/find_if/adjacent_find

这篇来学习C++中常用的查找相关的算法,有些是查找元素,有些是条件查找,有些是查找统计次数,还有二分查找算法等。算法简介1.find函数原型:find(v.begin, v.end, val)给定一个容器迭代区间,查找元素val是否存在。找到就返回指定位置迭代器,找不到就返回结束迭代器位置。#include <iostream>#include <string>#include <vector>#include <algorithm&

2020-08-20 23:13:34 617

原创 C++ STL常用算法-60-遍历算法_for_each 和 transform

前面学习过各种容器,和容器的常用API调用练习,还涉及一点仿函数。这篇开始学习C++中STL提供的一些常用的算法,这些算法都是采用模板类实现,调用这些算法的过程中,很多需要传入一个函数对象作为参数,可以是普通的函数,也可以是仿函数。这篇学习常用遍历容器的算法 for_each,和搬运算法transform概述:算法主要是由头文件<algorithm> <functional> <numeric>组成<algorithm>是所有STL头文件中最大的.

2020-08-20 22:15:40 622

原创 C++ map容器-59-map容器排序和仿函数

这篇结束学习map容器的API,通过学习map容器的排序,引出一个新的知识点:仿函数,然后继续学习仿函数相关的知识点。1.map容器默认排序我们知道map容器是该容器本身提供的sort()排序算法,不是直接调用全局静态函数sort(map)去排序。在map容器中默认排序规则是:根据key的ASCII码表进行排序,下面我们用代码来看看。#include <iostream>#include <string>#include <map>using n.

2020-08-16 21:56:20 1746

原创 C++ map容器-58-map容器大小/交换/插入/删除

接着学习map容器的常见API操作,依然是大部分前面学习过的,名称相同的API的基本调用测试。本篇学习map容器大小相关API,然后学习容器交换,容器元素插入和删除,清空等操作。1.map容器大小操作统计map容器大小的函数原型#include <iostream>#include <string>#include <map>using namespace std;void test01(){ // map容器的构造 map

2020-08-13 23:09:29 4580

原创 C++ map容器-57-对组和map构造/赋值

这篇开始学习C++中的Map容器,也叫字典,字典中的元素是键值对形式存在的。在学习map容器之前,我们先学习C++中的一个对组的小知识点。然后学习map容器的构造和赋值相关API。1.对组概念:成对出现的数据,利用对组可以返回两个数据。这个特点有点类似python中的元组。对组的两种创建方式下面写简单的练习代码,练习对组的两种创建方式,和如何获取对组中两组数据的方法。#include <iostream>#include <string>using n.

2020-08-12 22:42:33 2718

原创 C++ set容器-56-集合容器大小/交换/插入/删除操作

这篇学习set容器的大小操作,大小主要有判断是否为空,size()还有交换swap(),最后来学习下set容器的插入和删除操作。基本上那些常用的API,前面都学习过。1.set容器大小操作和交换函数原型注意这里set容器没有resize(),重新指定容器大小的操作。#include <iostream>#include <string>#include <set>using namespace std;void printSet(c.

2020-08-11 22:55:05 2844

原创 C++ set容器-55-集合容器基本概念和构造赋值操作

这篇开始学习set容器,set容器经常也叫集合容器。set容器有一个非常鲜明的特点就是插入元素后,实现自动排序功能。这篇先来学习set/multiset容器的基本概念和构造方法和赋值操作1.set基本概念所有的元素在插入时自动被排序本质:set/multiset属于关联式容器,底层结构是用二叉树实现。2.set和multiset区别set不允许容器中有重复的元素multiset运行容器中有重复的元素3.set构造和赋值先来学习下如何创建set和mutliset容器和赋值..

2020-08-10 22:30:20 2418

原创 C++ list容器-54-链表存取和反转和排序

继续学习list容器相关常见的API,这边学习三点,分别是list容器的存取操作,和list容器反转,这个反转经常在面试的时候被问到,最后来看看list容器的排序操作。1.list的存取注意:list容器没有和其他容器那样,根据[]和at函数获取某个位置的元素。原因是和list双端链表的数据结构有关系,由于不是连续存储,所以这里索引去查找元素就行不通。在list容器中两个api,我们可能需要经常使用,获取头部和尾部的元素,front()和back()#include <iost.

2020-08-09 22:17:11 539

原创 C++ list容器-53-链表大小操作和插入删除操作

这篇接着前面的list容器的基本概念之后,这里继续学习list容器的常用API。先学习list的大小相关操作,也就是元素个数,判断是否为空,重置大小。然后学习list容器的插入和删除,插入是重点,至少有头尾插入和中间任意元素位置插入。1.list容器大小操作函数原型这几个api,我们前面学习其他容器都接触过。下面使用简单代码来测试下#include <iostream>#include <string>#include <list>using

2020-08-06 22:58:04 881

原创 C++ list容器-52-链表基本概念和构造函数/赋值

前面学习的容器或叫数据结构都是连续存储的空间。例如数组和vector都是在一块连续的内存空间去存储数据。既然有连续存储当然也就有非连续存储。这里开始学习非连续存储的数据结构,list,也叫链表1.list的基本概念list是一种将数据进行链式存储的数据结构,也叫链表。list是一种物理存储单元上非连续的存储结构,将数据元素的逻辑顺序是通过链表中的指针链接实现的。链表的组成:链表由一系列结点组成。结点的组成:一个存储数据元素的数据域,另一个是存储下一个结点地址的指针域链表有单链表和双.

2020-08-04 23:53:53 1092

原创 C++ queue容器-51-队列容器基本概念和常用接口

这一篇学习queue容器,也叫队列容器。例如生活中的排队场景,就是一个队列。队列这种数据结构有先进先出的特点(First In First Out)FIFO, 队列有两个出口。1.queue特点1)队列有两头,分别队尾和对头2)插入元素只能从队尾操作,函数是push(), 移除元素只能从对头操作,函数是pop()3) 使用 back()获取队尾元素,front()获取对头元素2.queue常用接口上面这个图也已介绍一些队列的接口,这里我们先看构造函数,赋值和返回对头,队尾操.

2020-08-03 22:46:04 703

原创 C++ stack容器-50-栈容器基本概念和常用接口

接着学习下一个容器,stack,栈容器。当然后面还要学习一个队列容器,两个有点相似一般一起对比和学习。本篇主要学习栈容器的基本概念和常用接口的基本使用。1.什么是stackstack是一种先进后出(First In Last Out)FILO的容器,它只有一个出口。2.stack的特点下面这张图给出栈的特点栈中只有顶部元素运行外部使用,所以,栈容器没有遍历操作。3.stack的常用API根据上面这张图,栈就基本操作API都在顶部元素的入栈和出栈操作,还有统计...

2020-08-02 23:03:16 479

原创 C++ deque容器-49-deque和vector容器练习

前面把vector容器和deque容器都学习完,现在找一个实际的例子,我们用这两个容器的特点和相关API去做一个练习题。模拟,在比赛过程中,评委给选手打分,例如十个评委打分完成,去除一个最高分和最低分,求8个评委打分的平均值。1.需求一共有5个选手ABCDE,十个评委打分,去除最高分和最低分,要求大于选手名称和平均分。2.实现思路下面是实现思路,步骤拆分1.创建5名选手,放到vector中2.遍历vector容器,取出每一个选手,执行for循环,可以把10个评分分别存入d..

2020-08-02 22:40:15 483

原创 C++ deque容器-48-deque元素存取和排序操作

这篇来学习C++中deque容器的元素存取和排序操作。和前面vector容器一样,也是根据at(index) 和[index]来返回所对应位置的元素,也可以获取容器第一个元素和最后一个元素。当然可以获取,如果使用赋值语句,更改获取到的元素,这个过程就元素的修改也就是存入容器操作。1.deque获取元素相关api元素读取相关函数原型at(int id); //返回索引id所指的数据operator[id]; //返回索引id所指的数据front(); // 返回容器.

2020-08-01 21:35:55 2478

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除