mock

PowerMockito使用详解

拈花ヽ惹草 提交于 2020-03-02 10:35:45
一、为什么要使用Mock工具 在做单元 测试 的时候,我们会发现我们要测试的方法会引用很多外部依赖的对象,比如:(发送邮件,网络通讯,远程服务, 文件系统等等)。 而我们没法控制这些外部依赖的对象,为了解决这个问题,我们就需要用到Mock工具来模拟这些外部依赖的对象,来完成单元测试。 二、为什么要使用PowerMock 现如今比较流行的Mock工具如 jMock 、 EasyMock 、 Mockito 等都有一个共同的缺点:不能mock静态、final、私有方法等。而 PowerMock 能够完美的弥补以上三个Mock工具的不足。 三、PowerMock简介 PowerMock是一个扩展了其它如EasyMock等mock框架的、功能更加强大的框架。PowerMock使用一个自定义类加载器和字节码操作来模拟静态方法,构造函数,final类和方法,私有方法,去除静态初始化器等等。通过使用自定义的类加载器,简化采用的IDE或持续集成服务器不需要做任何改变。熟悉PowerMock支持的mock框架的开发人员会发现PowerMock很容易使用,因为对于静态方法和构造器来说,整个的期望API是一样的。PowerMock旨在用少量的方法和注解扩展现有的API来实现额外的功能。目前PowerMock支持EasyMock和Mockito。 四、PowerMock入门

React 常用插件库

无人久伴 提交于 2020-02-28 08:46:12
js 加密 crypto-js (des加密,md5) crypto-js https://www.npmjs.com/package/crypto-js Mock联调 数据是前端开发过程中必不可少的一环, https://pro.ant.design/docs/mock-api-cn https://github.com/sorrycc/roadhog#mock 修改 .roadhogrc.mock.js 后请求没能指向真实服务器 按官网教程修改了.roadhogrc.mock.js的export部分。修改为 export default { 'GET /api/*': 'http://localhost:62078/', }; 这条规则的意思是说前端访问 http://localhost:8000/api/* 的时候, 本地的开发服务器会去代理访问 http://localhost:62078/api/*, 所以你在浏览器看到的请求还是看到的 http://localhost:8000/api/* 是正确的. 可以用命令调试: npm run start:no-proxy 使用ES6 语法重构 http://www.cnblogs.com/yongjz/p/5356914.html http://www.cnblogs.com/fayin/p/6831071.html 来源:

使用moco单元测试

試著忘記壹切 提交于 2020-02-28 03:02:57
在项目中,除了查询数据库,还要调用外部的服务,这这时候我们在写单元测试的时候,会考虑怎么覆盖着一块代码: 1.封装一个方法,然后mock这个方法。 2.直接配置好调用的服务,测试的时候调用真实存在的服务。 3.起一个服务,mock这个调用的这个服务。 第一种方法虽然mock了这个方法,但是没有覆盖到调用远端的这个服务处理过程,比如序列化,contentType等等。 第二种方法过于依赖已经外部的服务,测试的失败的概率也是比较高的,也有点集成的意思,会把单元测试做的过重,并且不好维护。 第三种方法,可以配置协议启动,当方法调用的时候,实际调用我们mock的服务,也想过开发一个mock服务,我们配置需要调用的服务,返回格式内容,感觉这种适合给前端接口定义的时候用,不适合后端开发。 发现前人开发了moco( https://github.com/dreamhead/moco) 来实现第三种方法来做单元测试。有几种使用Moco的方法。一种是API,您可以在单元测试中使用它。另一个是独立运行Moco。当前,需要将所有配置都放在JSON文件中。 如果是maven项目,那么加入如下的依赖: 然后在junit的单元测试中,加入moco runner的服务,这里我使用作者git中的test描述,需要写一个配置文件,这里的request是请求的配置

通过程序实现SQL脚本检索条件拼接

不想你离开。 提交于 2020-02-27 19:43:43
package tool; import static java.lang.System.out; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter;; /** * <p> * Oracle中检索条件在1000+以上,无法直接写入同一个in里,可以通过or in的方式拼接条件,如下所示 * </p> * <p> * SELECT * FROM TARGET_TABLE WHERE FILED IN ('A','B','C') OR IN('D','E','F') * </p> * <p> * 当条件数量巨大时,手动写or in脚本灰常困难,比如说100000条,甚至更多。这时候可以通过程序来制作相应的脚本,本程序旨在解决这一需求。 * </p> * <p> * mock():用于生成模拟数据,示范效果; createSqlScript():制作脚本; * 实际使用时,需要将mock方法注释掉。详细过程可以参照代码部分。 *

mock解决第三方接口依赖问题

巧了我就是萌 提交于 2020-02-27 04:04:02
mock除了用在单元测试过程中,还有一个用途,当前端开发在开发页面的时候,需要服务端提供API接口 此时服务端没开发完成,或者说没搭建测试环境,这个时候前端开发会自己mock一个api服务端,自己给自己提供调用接口的返回数据 mock-server用途就是开发在开发的过程中,需要依赖一部分的接口,但是对方没有提供或者环境等等情况 0.moco下载链接: https://repo1.maven.org/maven2/com/github/dreamhead/moco-runner/0.12.0/ 1.第三方代理实现截获请求的方法介绍 https://blog.csdn.net/qq_35716699/article/details/90581880 2.mock实现过程 https://www.cnblogs.com/yoyoketang/p/9348552.html https://www.cnblogs.com/luffa/p/10389151.html https://blog.csdn.net/vite_s/article/details/54583243 https://www.cnblogs.com/Teachertao/p/10556139.html 来源: CSDN 作者: XTY00 链接: https://blog.csdn.net/XTY00/article

prisma 服务器端订阅试用

倖福魔咒の 提交于 2020-02-23 05:00:04
graphql 协议是支持数据的实时订阅功能的(一般基于websocket 进行实现) prisma 支持客户端订阅以及服务器端订阅(类似webhook),可以方便将 数据推送后端服务 目的 prisma 实现这个功能是方便集成当前的serverless 基础设施,当前支持的是通过webhook 的模式进行时间传递 参考配置 endpoint: ${env:PRISMA_ENDPOINT} secret: ${env:PRISMA_SECRET} datamodel: database/datamodel.graphql subscriptions: userChangedEmail: webhook: url: http://example.org/sendSlackMessage headers: Content-Type: application/json Authorization: Bearer cha2eiheiphesash3shoofo7eceexaequeebuyaequ1reishiujuu6weisao7ohc query: | subscription { user(where: { mutation_in: [UPDATED] }) { node { name email } } } 触发条件 mutation { createUser(data:{

使用express快速开发后端接口

喜你入骨 提交于 2020-02-21 05:44:09
使用express快速开发后端接口 项目使用pm2部署在nginx服务器上。可以实现json文件接口化处理。 express + 项目名 yarn 装依赖 Scripts node改nodemon / app . js var mockRouter = require ( './routes/mock' ) ; app . use ( '/mock' , mockRouter ) routes下新建mock.js / routes / mock . js var express = require ( 'express' ) ; var router = express . Router ( ) ; let mockData = require ( '../controllers/mockData' ) /* GET home page. */ router . get ( '/data' , mockData . GetData ) module . exports = router ; 新建controllers文件夹 新建mockData.js文件 const fs = require ( 'fs' ) const path = require ( 'path' ) const GetData = async ( req , res , next ) => { res .

前端开发如何快速 mock 数据

不羁岁月 提交于 2020-02-18 07:13:07
为什么要mock数据 并行开发,提升效率 我们都知道,一个项目开发需要前端 + 后端配合来完成,后端程序猿需要为前端开发攻城狮提供 api 接口,前端开发攻城狮,才能借助这些接口,来实现项目预期的功能。 我们一般开发项目的时候,各个团队都是并行进行的,为了减少每个环节之间的依赖等待,我们在各个环节都需要做一些数据模拟,来达到可以并行开发的目的。 所以前期双方以最快的速度,先把 api 接口的 URL 路径,请求参数、返回数据结构先确定下来,确定以后,双方就可以各自分道扬镳,各自去完成各自自己的任务: 后端程序猿,去实现这些接口的内部是实现; 测试同学,根据约定的参数,编写测试用例及自动化测试脚本,为下一步测试工作做准备; 前端攻城狮,通过 mock 的数据,立马开始前端开发(网站、小程序、APP); 等正式 api接口 开发好以后,只需把前端开发中的mock域名,更换成开发域名即可联调,而无需再去修改前端任何其他代码。 快速搭建原型 还有的应用场景,客户并不明确需求,暂时对于后台要开发成什么样式,还没有头绪。所以现在要让程序猿提供正式的接口,尚有难度,现在项目急需先把前端的原型做出来,让大家可以在线体验,边体验边调整修改。 如何mock数据 通过nodejs自己搭建 安装Node.js ,通过http-server开启本地服务器 获取端口 http://localhost:8000

Mock接口平台Moco学习

我的梦境 提交于 2020-02-17 12:18:04
Mock就是模拟接口的。本文学习Mock的 Moco开源框架。 Moco源码和jar下载地址: git jar 下载moco-runner-0.12.0-standalone.jar moco的启动及第一个demo Step1: 在项目中创建一个package:moco,并将下载的jar包放在该package下。 Step2:创建一个json文件,格式如下: [ { "description":"This is my first mock demo", "request":{ "uri":"/demo" }, "response":{ "text":"This is response" } } ] Step3:cmd进入到该package下,运行命令:java -jar ./moco-runner-0.12.0-standalone.jar http -p 8888 -c startup1.json 在命令行中出现,则命令运行成功 29 Apr 2019 14:31:54 [main] INFO Server is started at 8888 29 Apr 2019 14:31:55 [main] INFO Shutdown port is 52901 Step4:打开浏览器,输入 localhost:8888.在浏览器上就可以看到我们在json文件中定义的数据。

单元测试不止 Junit

断了今生、忘了曾经 提交于 2020-02-17 09:03:52
一、前言 在前面的章节我们介绍过 Junit 的使用,也了解过 spring-test,今天我们来了解一个新玩意 – mock 测试。这里仅仅做一个入门,对返回视图和返回 Json 数据的方法进行测试演示,不会把所有的方法都介绍到,具体文档详见链接:Mock Test,本章节主要讲解以下两部分内容: 1、Mock 测试简介 2、测试用例演示 二、Mock 测试简介 1、什么是 mock 测试 在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个 虚拟的对象 来创建以便测试的测试方法,就是 mock 测试 在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个 虚拟的对象 来创建以便测试的测试方法,就是* mock 测试*。 虚拟的对象就是 mock 对象。 mock 对象就是真实对象在调试期间的代替品。 2、为什么使用 mock 测试 避免开发模块之间的耦合 轻量、简单、灵活 3、MockMVC 介绍 基于 RESTful 风格的 SpringMVC 的测试,我们可以测试完整的 Spring MVC 流程,即从 URL 请求到控制器处理,再到视图渲染都可以测试。 1)MockMvcBuilder MockMvcBuilder 是用来构造 MockMvc 的构造器,其主要有两个实现:StandaloneMockMvcBuilder 和