MockServer 入门
MockServer介绍及文档 借鉴公司的文档
MockServer can:
- return a "mock" response when a request matches an expectation
- forward a request when the request matches an expectation (i.e. a dynamic port forwarding proxy)
- execute a callback when a request matches an expectation, allowing the response to be created dynamically
- verify requests have been sent (i.e. as a test assertion)
设置pom
<dependency>
<groupId>org.mock-server</groupId>
<artifactId>mockserver-netty</artifactId>
<version>3.10.1</version>
</dependency>
如何在java里启动一个mockserver
import mockserver相关包
import static org.mockserver.integration.ClientAndServer.startClientAndServer;
import static org.mockserver.model.HttpRequest.request;
import static org.mockserver.model.HttpResponse.response;
import static org.mockserver.model.HttpForward.forward;
import static org.mockserver.model.HttpForward.Scheme;
import static org.mockserver.model.HttpCallback.callback;
2. 启动mockserver
ClientAndServer mockServer = startClientAndServer(1080);
2.1 设置mockserver response
mockServer
.when(
request()
.withMethod("POST")
.withPath(this.basePath)
.withBody("{username: 'foo', password: 'bar'}")
)
.respond(
response()
.withStatusCode(200)
.withCookie(
"sessionId", "2By8LOhBmaW5nZXJwcmludCIlMDAzMW"
)
.withHeaders(
new Header("Content-Type", "application/json; charset=utf-8"),
new Header("Cache-Control", "public, max-age=86400")
)
.withBody("{ \"apply_id\": \"000001\", \"overdued\": \"Y\" }")
// .withBody("{ \"message\": \"incorrect username and password combination\" }")
);
2.2 设置mockserver forward
mockServer
.when(
request()
.withMethod("POST")
.withPath(this.basePath)
.withBody("{username: 'foo', password: 'bar'}")
)
.forward(
forward()
.withHost("http://10.226.3.3")
.withPort(12345)
.withScheme(Scheme.HTTPS)
);
2.3设置mockserver callback
mockServer
.when(
request()
.withMethod("POST")
.withPath(this.basePath)
.withBody("{username: 'foo', password: 'bar'}")
)
.callback(
callback()
.withCallbackClass("callbackclassname")
);
2.4 停止mockserver
mockServer.stop();
MockServer 入门的更多相关文章
- 正确开启Mockjs的三种姿势:入门参考(一)
一.文章初衷 阅读本文章需要注意以下几点: 文章不主要介绍Mockjs的使用语法 文章暂不涉及Mockjs的第三方封装框架 文章会结合以往做过上线项目的方式总结 想主要介绍如何使用Mockjs,是因为 ...
- vue 快速入门 系列 —— 使用 vue-cli 3 搭建一个项目(上)
其他章节请看: vue 快速入门 系列 使用 vue-cli 3 搭建一个项目(上) 前面我们已经学习了一个成熟的脚手架(vue-cli),笔者希望通过这个脚手架快速搭建系统(或项目).而展开搭建最好 ...
- vue 快速入门 系列 —— 使用 vue-cli 3 搭建一个项目(下)
其他章节请看: vue 快速入门 系列 使用 vue-cli 3 搭建一个项目(下) 上篇 我们已经成功引入 element-ui.axios.mock.iconfont.nprogress,本篇继续 ...
- Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求
上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...
- ABP入门系列(1)——学习Abp框架之实操演练
作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...
- Oracle分析函数入门
一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...
- Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数
上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数 之前介绍了简单的路由以及传参,这篇文章我们将要学习复杂一些的路由以及传递其他附加参数.一个好的路由系统可以使我们 ...
- Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数
上一篇:Angular2入门系列教程-服务 上一篇文章我们将Angular2的数据服务分离出来,学习了Angular2的依赖注入,这篇文章我们将要学习Angualr2的路由 为了编写样式方便,我们这篇 ...
- Angular2入门系列教程4-服务
上一篇文章 Angular2入门系列教程-多个组件,主从关系 在编程中,我们通常会将数据提供单独分离出来,以免在编写程序的过程中反复复制粘贴数据请求的代码 Angular2中提供了依赖注入的概念,使得 ...
随机推荐
- git ssh key配置
原文:https://blog.csdn.net/lqlqlq007/article/details/78983879 git clone支持https和git(即ssh)两种方式下载源码: 当使用 ...
- QMsgPack简介
QMsgPack简介 首先,关于MessagePack协议,访问http://msgpack.org可以了解详细的格式约定及各种语言的实现. MessagePack协议号称比JSON快,但速度的快慢这 ...
- Unity接入谷歌支付
文章理由 前段时间负责Unity接入Google内购功能,一开始研究别人的技术博客时发现,他们的文章都有些年头了,有些细节的地方已经不像n年前那样了,技术永远是需要更新的,而这篇就作为2016年末的最 ...
- golang日期时间格式format()
format()函数格式化字符串,用了语句time.now().format(“2015-11-12 12:00:00”),结果输出结果就是不能达到理想的结果,然后把golang文档中的”2006-0 ...
- [Android 源码] Android源码下载
Android源码下载 为了能够顺利的下载Android的源码,同时也为了避免在网络上再次搜寻如何下载源码的麻烦,我把下载过程记录在这篇文档中. 官网中也有详细的介绍: http://source.a ...
- linuxShell检测内网中存活主机,windows下net view/nmblookup
#!/bin/bash # Simple SHELL script for Linux and UNIX system monitoring with # ping command # code by ...
- Android 使用SWIG生成Jni代码
一,下载SWIG,并设置好环境变量 二以HelloJni为例子 导入ndk sample的HelloJni工程. 三 创建SWIG接口文件 在jni目录下新建文件Unix.i,输入SWIG代码: %m ...
- Dockerfile命令
Dockerfile分基础镜像信息.维护者信息.镜像操作指令.容器启动时执行指令 FROM 镜像名:标签 第一条指令必须时FROM MAINTAINER 维护者信息 RUN command或者RUN ...
- SQL VM上磁盘延迟高, 但Host和Storage Array上的延迟却很低的问题
按照下面的步骤, 问题解决. =========================== Per Microsoft DDK, Microsoft storport.sys maintains a dev ...
- JobControl 的实现原理
本文地址:http://www.cnblogs.com/archimedes/p/hadoop-jobcontrol.html,转载请注明源地址. 引入实例:贝叶斯分类 贝叶斯分类是一种利用概率统计知 ...