okhttp3测试框架_OkHttp3系列(二)MockWebServer使用

本文详细介绍了OkHttp3的MockWebServer,包括基本使用、模拟弱网环境响应、服务端请求分发以及请求记录等功能,帮助开发者进行单元测试和快速开发。
摘要由CSDN通过智能技术生成

OkHttp3是由Square贡献的HTTP客户端框架,主要用在Andorid中,但是由于其易用的API、强大的功能、请求的快速等特点,也被大量采用在后端开发领域。本系列文章讲述OkHttp3的基本使用、OkHttp3的高级功能以及OkHttp3源码的解析等,请持续关注。

本篇文章是此系列的第二篇。

Mock

mock在测试领域是很重要的一个概念。mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,创建用一个虚拟的对象以方便测试的测试方法。比如在Java中可以借助JMock、EasyMock等工具创建Java对象,帮助我们快速进行单元测试。

MockWebServer

MockWebServer则是OkHttp3提供的一个快速创建HTTP服务端的工具。当我们的服务需要依赖外部HTTP应用时,可以按照预期功能快速构建外部HTTP应用,加快开发流程,快速进行单元测试,完善代码。搭配OkHttp3使用时,可以测试我们自己编写的OkHttp3客户端代码。

目前Java版本的MockWebServer最后版本的Maven坐标如下,本编文章的代码示例均基于该版本。

com.squareup.okhttp3

mockwebserver

3.14.9

使用MockWebServer

基本示例

MockWebServer的使用很简单。

首先创建一个MockWebServer对象。

MockWebServer server = new MockWebServer();

然后创建响应内容。

MockResponse mockResponse = new MockResponse().setBody("hello, world!")

把响应内容放入MockWebServer对象。

server.enqueue(mockResponse);

启动MockWebServer。

try {

server.start(8080);

} catch (IOException e) {

e.printStackTrace();

}

高级功能

模拟弱网环境响应。

MockWebServer server = new MockWebServer();

String filePath = "C:\\Users\\weegee\\Downloads\\dm-algo-top10.pdf";

Buffer bodyBuffer = new Buffer();

bodyBuffer.readFrom(new FileInputStream(new File(filePath)));

MockResponse bigMockResponse = new MockResponse()

.ad

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>