easymock

Mockito 简明教程

耗尽温柔 提交于 2020-10-07 04:00:47
什么是 Mock 测试 Mock 测试就是在测试过程中,对于某些不容易构造(如 HttpServletRequest 必须在Servlet 容器中才能构造出来)或者不容易获取比较复杂的对象(如 JDBC 中的ResultSet 对象),用一个虚拟的对象(Mock 对象)来创建以便测试的测试方法。 Mock 最大的功能是帮你把单元测试的耦合分解开,如果你的代码对另一个类或者接口有依赖,它能够帮你模拟这些依赖,并帮你验证所调用的依赖的行为。 比如一段代码有这样的依赖: 当我们需要测试A类的时候,如果没有 Mock,则我们需要把整个依赖树都构建出来,而使用 Mock 的话就可以将结构分解开,像下面这样: Mock 对象使用范畴 真实对象具有不可确定的行为,产生不可预测的效果(如:股票行情,天气预报) : 真实对象很难被创建的 真实对象的某些行为很难被触发 真实对象实际上还不存在的(和其他开发小组或者和新的硬件打交道)等等 使用 Mock 对象测试的关键步骤 使用一个接口来描述这个对象 在产品代码中实现这个接口 在测试代码中实现这个接口 在被测试代码中只是通过接口来引用对象,所以它不知道这个引用的对象是真实对象,还是 Mock 对象。 Mock 与 Stub 的区别 Mock 不是 Stub,两者是有区别的: 前者被称为 mockist TDD,而后者一般称为 classic TDD ;

Mockito 简明教程

前提是你 提交于 2020-10-06 11:47:52
什么是 Mock 测试 Mock 测试就是在测试过程中,对于某些不容易构造(如 HttpServletRequest 必须在Servlet 容器中才能构造出来)或者不容易获取比较复杂的对象(如 JDBC 中的ResultSet 对象),用一个虚拟的对象(Mock 对象)来创建以便测试的测试方法。 Mock 最大的功能是帮你把单元测试的耦合分解开,如果你的代码对另一个类或者接口有依赖,它能够帮你模拟这些依赖,并帮你验证所调用的依赖的行为。 比如一段代码有这样的依赖: 当我们需要测试A类的时候,如果没有 Mock,则我们需要把整个依赖树都构建出来,而使用 Mock 的话就可以将结构分解开,像下面这样: Mock 对象使用范畴 真实对象具有不可确定的行为,产生不可预测的效果(如:股票行情,天气预报) : 真实对象很难被创建的 真实对象的某些行为很难被触发 真实对象实际上还不存在的(和其他开发小组或者和新的硬件打交道)等等 使用 Mock 对象测试的关键步骤 使用一个接口来描述这个对象 在产品代码中实现这个接口 在测试代码中实现这个接口 在被测试代码中只是通过接口来引用对象,所以它不知道这个引用的对象是真实对象,还是 Mock 对象。 Mock 与 Stub 的区别 Mock 不是 Stub,两者是有区别的: 前者被称为 mockist TDD,而后者一般称为 classic TDD ;

Tomcat源码Idea maven启动

你。 提交于 2020-10-05 06:28:02
一、下载tomcat源码 https://github.com/apache/tomcat/tree/8.5.x 二、建立pom 1 <? xml version="1.0" encoding="UTF-8" ?> 2 < project xmlns ="http://maven.apache.org/POM/4.0.0" 3 xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation ="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > 5 6 < modelVersion > 4.0.0 </ modelVersion > 7 < groupId > org.apache.tomcat </ groupId > 8 < artifactId > Tomcat8.5 </ artifactId > 9 < name > Tomcat8.0 </ name > 10 < version > 8.0 </ version > 11 12 < build > 13 < finalName > Tomcat8.5 </ finalName > 14 < sourceDirectory >

推荐一款技术人必备的接口测试神器:Apifox

拥有回忆 提交于 2020-08-10 04:50:10
1. 背景 作为互联网行业技术从业者,接口调试是必不可少的一项技能,通常我们都会选择使用 Postman 这类工具来进行接口调试,在接口调试方面 Postman 做的确实非常出色。当然除了Postman,还有它的老婆: Postwoman 也同样很出色,公号之前有发表过一篇关于它老婆 Postwoman 使用的文章,详细可阅: 推荐一款 Postman 的开源替代品: Postwoman 但是在整个软件开发过程中,接口调试只是其中的一部分,还有很多事情 Postman 是无法完成的,或者 无法高效完成 ,比如:接口文档定义、Mock 数据、接口自动化测试等等。 今天给大家推荐的一款神器: Apifox ,它是集: 接口文档管理 、 接口调试 、 Mock 、 接口自动化测试 于一体的。有的读者咋一看,会觉得和 YAPI 有点类似,但两者在功能特色上,只能说是各有千秋的。 细心的读者,会发现文章,正文干货还没有开始,就已经为大家推荐了三款效率神器: Apifox、Postwoman、YAPI。 2. 聊一聊接口管理的现状 对于接口管理的现状来说,目前行业大部分采取的解决方案有如下几种: 使用 Swagger 管理接口文档。 使用 Postman 调试接口。 使用 RAP或Easy Mock来进行 Mock 数据。 使用 JMeter 做接口自动化测试。 上述的接口管理手段,咋一看

推荐一款技术人必备的接口测试神器:Apifox

无人久伴 提交于 2020-07-27 12:12:47
1. 背景 作为互联网行业技术从业者,接口调试是必不可少的一项技能,通常我们都会选择使用 Postman 这类工具来进行接口调试,在接口调试方面 Postman 做的确实非常出色。当然除了Postman,还有它的老婆: Postwoman 也同样很出色,公号之前有发表过一篇关于它老婆 Postwoman 使用的文章,详细可阅: 推荐一款 Postman 的开源替代品: Postwoman 但是在整个软件开发过程中,接口调试只是其中的一部分,还有很多事情 Postman 是无法完成的,或者 无法高效完成 ,比如:接口文档定义、Mock 数据、接口自动化测试等等。 今天给大家推荐的一款神器: Apifox ,它是集: 接口文档管理 、 接口调试 、 Mock 、 接口自动化测试 于一体的。有的读者咋一看,会觉得和 YAPI 有点类似,但两者在功能特色上,只能说是各有千秋的。 细心的读者,会发现文章,正文干货还没有开始,就已经为大家推荐了三款效率神器: Apifox、Postwoman、YAPI。 2. 聊一聊接口管理的现状 对于接口管理的现状来说,目前行业大部分采取的解决方案有如下几种: 使用 Swagger 管理接口文档。 使用 Postman 调试接口。 使用 RAP或Easy Mock来进行 Mock 数据。 使用 JMeter 做接口自动化测试。 上述的接口管理手段,咋一看

不为人知easy-mock-cli

痞子三分冷 提交于 2020-05-06 08:56:42
初识easy-mock-cli,始于一场缘分 在谈及easy-mock-cli的时候,先说一下easy-mock是什么把?官方解释是:Easy Mock 是一个可视化,并且能快速生成 模拟数据 的持久化服务。通俗易懂的话,就是假数据。使用的目的就是为了在前后端开发的过程中,前端会比后端先行一步,在还原完页面就需要等后端的接口在去开发功能,这样,就会造成前后端开发时间不同步,浪费开发的时候,mock的出现就解决了这个困境。前端在还原完页面之后,可以根据与后端定义好的mock接口,进行开发。等后端开发完成之后,与后端联调。项目大功告成,也没有谁等谁,互相嫌弃的问题了。 easy-mock-cli 的自我介绍 Easy Mock 是一个可视化,并且能快速生成模拟数据的服务。以项目管理的方式组织 Mock List,能帮助我们更好的管理 Mock 数据,不怕丢失。 Easy Mock CLI 是一个基于 Easy Mock 快速生成 API 调用文件的命令行工具。 可以根据你mock的接口,结合axios生成的api层,一开始觉得真好啊,不用去一个个手写api层,自动生成了mock中所有的,觉得真开心呀,省事省力,然后就开始用mock模拟数据,进行接口测试。 easy-mock-cli的安装 npm install -g easy-mock-cli 创建配置文件 .easymockrc {

CentOS 安装部署 Yapi

时光毁灭记忆、已成空白 提交于 2020-05-05 15:46:51
之前自己部署过 easy-mock,还专门整了篇博客 <Windows 本地安装部署 Easy Mock> ,但现在大搜车已经两年多没有对 easy-mock 进行有效 commit 了,最重要的是,easy-mock 对 NodeJs@10.x 及以上的版本 不支持 ,这就比较坑了,所以我找了一下有没有其他的 Api 管理/Mock 平台 YApi ,准备以后转战 YApi 了,我把 YApi 部署到我自己的服务器上,以后就用它了。 CentOS 版本: 7.6 Nginx 版本: 1.16.1 Yapi 版本: 1.19.1 MongoDB 版本: 4.2.6 1. MongoDB 配置 1.1 配置 yum 并安装 MongoDB MongoDB 和其他挺多直接用 yum 安装的软件不一样,它不能直接用 yum install ,这种方式安装的 MongoDB 版本很低,需要先配置一下 yum: # 创建 yum 配置文件 vim /etc/yum.repos.d/mongodb-org-4.2.repo # 在文件中填入以下内容,然后 :wq 退出 [mongodb-org-4.2] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/ $releasever /mongodb-org/4

Java单元测试(Junit+Mock+代码覆盖率)

给你一囗甜甜゛ 提交于 2020-04-29 08:56:58
原文见 此处 单元测试是编写测试代码,用来检测特定的、明确的、细颗粒的功能。单元测试并不一定保证程序功能是正确的,更不保证整体业务是准备的。 单元测试不仅仅用来保证当前代码的正确性,更重要的是用来保证代码 修复 、 改进 或 重构 之后的正确性。 一般来说,单元测试任务包括 接口功能测试:用来保证接口功能的正确性。 局部数据结构测试(不常用):用来保证接口中的数据结构是正确的 比如变量有无初始值 变量是否溢出 边界条件测试 变量没有赋值 (即为NULL) 变量是数值(或字符) 主要边界 :最小值,最大值,无穷大(对于DOUBLE等) 溢出边界 (期望异常或拒绝服务):最小值-1,最大值+1 临近边界 :最小值+1,最大值-1 变量是字符串 引用“字符变量”的边界 空字符串 对字符串长度应用“数值变量”的边界 变量是集合 空集合 对集合的大小应用“数值变量”的边界 调整次序 :升序、降序 变量有规律 比如对于Math.sqrt,给出n^2-1,和n^2+1的边界 所有独立执行通路测试:保证每一条代码,每个分支都经过测试 代码覆盖率 语句覆盖 :保证每一个语句都执行到了 判定覆盖(分支覆盖):保证每一个分支都执行到 条件覆盖:保证每一个条件都覆盖到true和false(即if、while中的条件语句) 路径覆盖:保证每一个路径都覆盖到 相关软件 Cobertura:语句覆盖 Emma:

玩转3D Swiper美女性感秀之思路分析总结

孤街醉人 提交于 2020-04-27 20:03:19
前言   继一次的 3D魔方 之后,这次利用CSS3的transform、translate、rotate、preserve-3d等结合JS的 requestAnimationFrame 、 class 带你一起玩转性感美女秀,正常套路,请先一堵为快,有兴趣继续,没兴趣也可以看看美女养眼哦🤪! 想直接在线预览 👈 这里是 @IT·平头哥联盟 ,我是 首席填坑官∙苏南 ,用心分享 做有温度的攻城狮。 群:912594095 回顾:   看过上次的 3D魔方 的同学对于本次的分析会有一定的帮助,当然如果大佬您本身就对 css3 就已经玩的很666了,那么对于下文的分解就请扮演 老师 的角色吧,小弟如有不足之处,欢迎斧正。 CSS3·画出最懂你的3D魔方 Canvas·手把手教你如何绘制一辆会跑车 解析: 创建列DIV : 从上图中我们能看出,每次旋转的动画是由多列小卡片组成的; 每列根据它的下标,对背景进行位移,做到拼接的效果,整体看起来就成了一张图 一起来看一下真像是啥样的: colNode(){ //生成列的节点 for (var i=0;i<this.colLen;i++){ let iDivCol = document.createElement('div'); //列 iDivCol.className = "div-col"; iDivCol.style.width =