【问题标题】:Simulating responses from third party server in Django在 Django 中模拟来自第三方服务器的响应
【发布时间】:2015-05-15 19:16:02
【问题描述】:

我有一个调用函数:

GET www.thirdpartydomain.com/objectlist/

并通过以下方式获取 JSON 列表: [ { 编号:1, 名称:'abc', }, { 编号:2, 名称:'定义', } ]

然后函数循环遍历数组中获取的对象并进行进一步的调用

GET www.thirdpartydomain.com/object/<id> --- where id is in the fetched json array

为了测试,我不想调用第三方域 API,而是使用 LISt 和 DETAILS API 的已知响应来伪造它

我如何在 Django 中做到这一点?

【问题讨论】:

  • 我想说这主要取决于您如何将请求发送到第三方网站。如果您使用模块requests,您可以使用模块responses 来“伪造”HTTP 请求并获得您想要的测试结果。
  • +1 for responses ... 还有pypi.python.org/pypi/httpretty 他们都很好但不同,都用过

标签: python django django-testing django-unittest


【解决方案1】:

你看过Betamax吗?引用文档:

Betamax 会拦截您发出的每个请求并尝试找到一个 已经被拦截并记录的匹配请求

你会适当地装饰你的测试,当你第一次运行它们时,它会从之前记录的内容中模拟它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-16
    • 1970-01-01
    • 2017-03-08
    • 2017-12-02
    • 2011-01-26
    相关资源
    最近更新 更多