如何测试POST请求的有效负载?

时间:2015-01-26 16:10:44

标签: python unit-testing

假设我有一个使用JSON数据发送POST请求的方法。测试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是通过调用POST发送requests.request的自定义方法。

由于

2 个答案:

答案 0 :(得分:0)

您可以查看由Uber制作的cassette模块,并由许多人使用,包括tweepy来测试您的HTTP请求有效负载。

答案 1 :(得分:0)

我现在整理出来了。它可以用HTTPretty完成。它会跟踪请求,因此可以使用httpretty.last_request().body来读取请求的正文。