如何使用Retrofit保存和累积请求正文数据?

问题描述

我正在Android上使用Retrofit,通过一系列PUT请求将大文件发送到服务。该代码有效(或似乎!),现在我想添加一些单元测试。文件传输分为多个块,并以多个请求发送。我希望我的测试捕获请求主体数据并将其全部累加,然后最后,我将验证发送的串联数据块与测试文件完全匹配。这是为了验证不存在一一对应的块边界错误或重叠以及此类情况。

我已经阅读了有关Retrofit MockWebServer的信息,但是在这种情况下,我不关心模拟/处理服务器响应-我只关心请求。

我知道我可以通过向Retrofit使用的OkHttpClient实例添加一个拦截器并自己进行收集/缓冲来完成自己的任务,但这似乎是人们之前必须做的事情,我想知道是否可能直接支持功能的其他Mock服务器?

(非常清楚,我是在专门讨论请求而不是响应。)

解决方法

查看类似https://stackoverflow.com/a/38525843/1542667

的示例

使用MockWebServer作为访问RecordedRequest的一种方式