如何在 Django 测试用例中获取测试 http 请求?

How to get a testing http request in django testcase?

我正在使用一个只有 GraphQL API 的解决方案,所以我的所有逻辑都在表单中。我的其中一个表单的保存方法接收到 http 请求。我使用请求获取一些数据用于邮寄。所以,我正在尝试制作这种形式的测试用例,但我不知道如何传递请求对象。

class SignUpForm(forms.ModelForm):
  ...
  def save(self, request, *args, **kwargs):
    ...

如何将请求对象传递给测试用例中的表单?

您可以实例化 HttpRequest 并将其用作测试中的常规请求:

    fake_request = HttpRequest()
    fake_request.user = AnonymousUser()
    fake_request.META['SERVER_NAME'] = site.domain
    fake_request.META['SERVER_PORT'] = 80

    s = SessionStore()
    s.create()
    fake_request.session = s

在您的情况下,您可能需要填写更多字段