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 简单示例相关推荐

  1. mysql表变量临时表_sql server 临时表详细讲解及简单示例

    一.概述 在sql server里临时表存储在TempDB库中,TempDB是一个系统数据库,它只有Simple恢复模式,也是最小日志记录操作.主要用于存放局部临时表,全局临时表,表变量,都是基于临时 ...

  2. 走进Java接口测试之简单快速的Mock Server Moco

    文章目录 一.引言 二.简介 三.原理 四.使用 1.约定请求 URI 2.约定请求 Queries 3.约定请求 Get 方法 4.约定请求 Post 方法 5.约定请求 Headers 6.约定请 ...

  3. pythonflaskmock数据_Flask实现简单Mock Server

    Mock Server充当的角色: Mock server在实际项目中的意义就相当于数据库.将我想要的数据返回给我就行,我并不关心你怎么逻辑处理的. 一般的应用程序请求方式是GET和POST. Fla ...

  4. python接口测试实战_Python接口测试实战5(下) - RESTful、Web Service及Mock Server

    课程目录 更多学习资料请加添加作者微信:superz-han获取 本节内容 REST及RESTful API Web Service XML解析 Mock Server REST及RESTful AP ...

  5. python简单单元测试示范卷_Python 单元测试的简单示例

    这篇文章主要为大家详细介绍了Python 单元测试的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 以前我是不 ...

  6. python 搭建的http 动态服务器_Python 创建HTTP服务器的简单示例

    这篇文章主要为大家详细介绍了Python 创建HTTP服务器的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! ...

  7. 1分钟搭建极简mock server

    摘自博客园:https://www.cnblogs.com/mikasama/p/9838480.html 1.无聊的背景.起源: 如今的业务系统越来越复杂庞大,各个功能直接的调用也是多如牛毛,但如果 ...

  8. LVS的简单示例(一)

    LVS的简单示例 1.使用NAT模型的TCP协议类型的lvs服务负载均衡一个php应用,如Discuz!论坛或者phpMyAdmin: 必要条件:三台主机(一个调度器两个服务器) 声明:172.16. ...

  9. java mockserver搭建_搭建Mock Server

    1.为什么要搭建mock-server? 为了更好的分工合作,让前端能在不依赖后端环境的情况下进行开发,其中一种手段就是为前端开发者提供一个 web 容器,这个本地环境就是 mock-server. ...

最新文章

  1. [JS][dp]题解 | #打家劫舍(一)#
  2. ssha java接口_java – 从Spring在LDAP中设置SSHA密码
  3. 第八届蓝桥杯决赛 磁砖样式
  4. Python爬取js动态添加的内容
  5. 十四、爬取天气气温,制作最低气温排行榜
  6. mysql连接报错:Unknown system variable ‘query_cache_size‘
  7. OpenWrt编程篇
  8. How to enable multiple text type for Product
  9. javascript --- [FormData的使用] 文件上传进度条展示 文件上传图片即使预览
  10. ps命令与top命令参数意义详解
  11. 盐城工学院c语言实验报告簿,盐城工学院单片机实验指导书.doc
  12. 人型自走输入法(网页日语输入法)
  13. QTableView 常用功能总结
  14. C4D中阿诺德默认材质-万能材质-stander surface
  15. Windows2003终端服务器超出了最大允许连接数
  16. 海丽宾雅水疗服务App技术支持
  17. 百度大脑人脸情绪实时识别攻略
  18. notepad打开java乱码_notepad打开中文乱码
  19. 帝国CMS Table '***.phome_ecms_news_data_' doesn't exist
  20. python基础:Python MySQL

热门文章

  1. 例题:打印正三角形。两层for循环,难点明白行与列的关系
  2. Bailian2684 POJ NOI0105-34 求阶乘的和【迭代】
  3. CCF NOI1058 统计单词
  4. CCF NOI1059 表达式求值
  5. 语言与哲学 —— 维特根斯坦
  6. Effective Java(一)—— 创建和销毁对象
  7. 寓情于景 —— 情与景的交融
  8. Python 爬虫 —— 使用 pandas
  9. jdbc连oracle dns报错,近期处理的oracle问题汇总
  10. 常用python内置函数_python常用内置函数