mock server java_MockServer 简单示例
Maven 引入
org.mock-server
mockserver-netty
5.4.1
org.mock-server
mockserver-client-java
5.4.1
示例一
ClientAndServer 用法
package com.yzy.mock;
import org.mockserver.integration.ClientAndServer;
import org.mockserver.model.Cookie;
import static org.mockserver.model.HttpRequest.request;
import static org.mockserver.model.HttpResponse.response;
import static org.mockserver.model.Parameter.param;
public class MockServer {
public static void main(String[] args) {
ClientAndServer server = new ClientAndServer(1080);
server.when(
request()
.withMethod("GET")
.withPath("/test")
.withQueryStringParameters(
param("p", "1")
)
).respond(
response()
.withCookie(new Cookie("cKey", "cValue"))
.withBody("test1")
);
server.when(
request()
.withMethod("GET")
.withPath("/test")
.withQueryStringParameters(
param("p", "2")
)
).respond(
response()
.withBody("test2")
);
}
}
启动main方法,打开浏览器,输入http://localhost:1080/test?p=1,页面返回test1,并且成功写入cookie。注意写入的cookie 是Session 级别的,会话关闭将消失。输入http://localhost:1080/test?p=2,页面返回test2,说明MockServer 同时监听的两个匹配都有效。
示例二
MockServerClient 用法
package mock;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.junit.Rule;
import org.junit.Test;
import org.mockserver.client.MockServerClient;
import org.mockserver.junit.MockServerRule;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import static org.hamcrest.core.IsEqual.equalTo;
import static org.junit.Assert.assertThat;
import static org.mockserver.model.HttpRequest.request;
import static org.mockserver.model.HttpResponse.response;
public class MockServerTest {
@Rule
public MockServerRule server = new MockServerRule(this, 1080);
@Test
public void test() throws IOException {
MockServerClient mockClient = new MockServerClient("localhost", 1080);
String expected = "hello world";
mockClient.when(
request()
.withPath("/hello")
.withMethod("GET")
).respond(
response()
.withStatusCode(200)
.withBody(expected)
);
CloseableHttpClient client = HttpClients.createDefault();
HttpGet httpGet = new HttpGet("http://localhost:1080/hello");
CloseableHttpResponse response = client.execute(httpGet);
//验证
InputStream content = response.getEntity().getContent();
InputStreamReader inputStreamReader = new InputStreamReader(content);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String responseText = bufferedReader.readLine();
assertThat(responseText, equalTo(expected));
}
}
运行test,执行通过。
mock server java_MockServer 简单示例相关推荐
- mysql表变量临时表_sql server 临时表详细讲解及简单示例
一.概述 在sql server里临时表存储在TempDB库中,TempDB是一个系统数据库,它只有Simple恢复模式,也是最小日志记录操作.主要用于存放局部临时表,全局临时表,表变量,都是基于临时 ...
- 走进Java接口测试之简单快速的Mock Server Moco
文章目录 一.引言 二.简介 三.原理 四.使用 1.约定请求 URI 2.约定请求 Queries 3.约定请求 Get 方法 4.约定请求 Post 方法 5.约定请求 Headers 6.约定请 ...
- pythonflaskmock数据_Flask实现简单Mock Server
Mock Server充当的角色: Mock server在实际项目中的意义就相当于数据库.将我想要的数据返回给我就行,我并不关心你怎么逻辑处理的. 一般的应用程序请求方式是GET和POST. Fla ...
- python接口测试实战_Python接口测试实战5(下) - RESTful、Web Service及Mock Server
课程目录 更多学习资料请加添加作者微信:superz-han获取 本节内容 REST及RESTful API Web Service XML解析 Mock Server REST及RESTful AP ...
- python简单单元测试示范卷_Python 单元测试的简单示例
这篇文章主要为大家详细介绍了Python 单元测试的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 以前我是不 ...
- python 搭建的http 动态服务器_Python 创建HTTP服务器的简单示例
这篇文章主要为大家详细介绍了Python 创建HTTP服务器的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! ...
- 1分钟搭建极简mock server
摘自博客园:https://www.cnblogs.com/mikasama/p/9838480.html 1.无聊的背景.起源: 如今的业务系统越来越复杂庞大,各个功能直接的调用也是多如牛毛,但如果 ...
- LVS的简单示例(一)
LVS的简单示例 1.使用NAT模型的TCP协议类型的lvs服务负载均衡一个php应用,如Discuz!论坛或者phpMyAdmin: 必要条件:三台主机(一个调度器两个服务器) 声明:172.16. ...
- java mockserver搭建_搭建Mock Server
1.为什么要搭建mock-server? 为了更好的分工合作,让前端能在不依赖后端环境的情况下进行开发,其中一种手段就是为前端开发者提供一个 web 容器,这个本地环境就是 mock-server. ...
最新文章
- [JS][dp]题解 | #打家劫舍(一)#
- ssha java接口_java – 从Spring在LDAP中设置SSHA密码
- 第八届蓝桥杯决赛 磁砖样式
- Python爬取js动态添加的内容
- 十四、爬取天气气温,制作最低气温排行榜
- mysql连接报错:Unknown system variable ‘query_cache_size‘
- OpenWrt编程篇
- How to enable multiple text type for Product
- javascript --- [FormData的使用] 文件上传进度条展示 文件上传图片即使预览
- ps命令与top命令参数意义详解
- 盐城工学院c语言实验报告簿,盐城工学院单片机实验指导书.doc
- 人型自走输入法(网页日语输入法)
- QTableView 常用功能总结
- C4D中阿诺德默认材质-万能材质-stander surface
- Windows2003终端服务器超出了最大允许连接数
- 海丽宾雅水疗服务App技术支持
- 百度大脑人脸情绪实时识别攻略
- notepad打开java乱码_notepad打开中文乱码
- 帝国CMS Table '***.phome_ecms_news_data_' doesn't exist
- python基础:Python MySQL