django - 使用响应和 pytest 模拟 query_params
问题描述
我需要一些帮助来使用响应和 pytest 来模拟 query_param。
我有这样的看法:
@api_view(["GET"])
@csrf_exempt
@permission_classes((AllowAny,))
def get_code_and_extra(request):
code = request.GET.get("code", "")
extra = request.GET.get("extra", "")
if code and extra:
# do something
return HttpResponse("", status=200)
return HttpResponse("", status=400)
我的测试嘲笑:
@responses.activate
def test_receive(self, db, client):
responses.add(
responses.GET,
"https://test.com/?code=some-code&extra=extra",
json={},
status=200,
content_type="application/json",
)
resp = client.get(reverse("my-url"))
assert resp.status_code == 200
当我运行我的测试工作时,视图没有收到 query_params。我想通过它,以便测试按预期工作。
更多上下文:此视图用作从另一个站点接收这些参数的 webhook。该视图正在运行,但我想进行此测试。
解决方案
推荐阅读
- javascript - 如何使用数据库表中的特定 ID 或变量登录
- java - 如何在 MacO 上安装 Hadoop?
- c# - 在 ASP.NET 中处理 Web 请求而不提供网页
- php - 默认情况下将 Woocommerce 产品目录按字母顺序排序
- python-3.x - Python-如果一个数字 (n) 连续有两个相同的数字,我如何编写函数返回 True?
- laravel - 无法在 eloquent 中使用 where
- c# - C# 或 VB.net 中的内存管理在表单关闭时释放内存
- javascript - ul 标签> li 我要获取标签的数量
- c - 运行时不精确的平均值
- java - 我应该如何将 JpaRepository.findOne() 与 SpringBoot 一起使用?