MockWebServer浅谈
简介
按照官方文档定义,MockWebServer是一个可脚本化的用于测试HTTP客户端的Web服务器。
主要用于测试你的应用在进行HTTP、HTTPS请求时是否按照预期的行为动作。使用该工具,你可以验证应用的请求是否符合预期,你可以选择返回的响应。
MockWebServer包含了所有的HTTP栈,所以可以测试所有的事。甚至可以直接将真实Web服务器中的HTTP响应内容复制过来,以创建相应的测试用例。此外,还可以测试应用在糟糕的网络环境下的表现,比如500错误或者响应返回缓慢。
示例
MockWebServer使用方法和Mockito类似,按照如下步骤。
- 编写模拟脚本
- 运行应用程序代码
- 验证做出的请求是否符合预期
下面是官方给的示例代码:
public void test() throws Exception() {
// 创建一个 MockWebServer
MockWebServer server = new MockWebServer();
// 设置响应
server.enqueue(new MockResponse().setBody("hello, world!"));
server.enqueue(new MockResponse().setBody("sup, bra?"));
server.enqueue(new MockResponse().setBody("yo dog"));
// 启动服务
// Start the server.
server.start();
// 设置服务端的URL,客户端