如何测试 POST 请求的负载?

How to test the payload of a POST request?

假设我有一个发送 POST 请求和 JSON 数据的方法。测试 JSON 负载的好方法是什么?我知道如何模拟请求和猴子修补一般的响应(我使用 HTTPretty 来模拟响应),但是 POST(或 PUT 和其他人的有效负载如何那个重要)被测试?

def update_progress(self):
    # fetch all interesting stuff
    interesting = ...
    payload = list()
    for i in interesting:
        # do something
        payload += ...

    self.api.post('v1/update', params=payload)

其中 self.api.post 是通过调用 requests.request.

发送 POST 的自定义方法

谢谢

您可以查看 Uber 制作的 cassette 模块,包括 tweepy 在内的许多人都使用它来测试您的 HTTP 请求负载。

我已经解决了。可以使用 HTTPretty 来完成。它会跟踪请求,因此可以使用 httpretty.last_request().body.

读取请求正文