gpt4 book ai didi

django - Django TestCase 中的 client 和 client.Client 到底有什么区别?

转载 作者:行者123 更新时间:2023-11-28 20:45:22 30 4
gpt4 key购买 nike

我阅读文档的理解是这样的:

  1. 客户端是测试用例的子类。当我们运行 manage.py test 时,会为每个以“test_”开头的方法创建一个 SimpleTest 类的实例(它继承自 TestCase)。这是自己
  2. Client 是 client 的子类。我们可以创建新的 Client 实例,有时这样做很有帮助。
  3. 然而不知何故,当我们输入 self.client 时,我们指的是在创建 TestCase 时实例化的特定客户端,不是客户端类TestCase 下面一层。

这是正确的吗?如果是这样,这是怎么回事 - 与父类(super class)有关?

最佳答案

如果我理解你的问题和 documentation正确。 client 属性的提供是为了方便,每个测试都可以访问 from django.test.client import Client Client 实例。

你的第一个问题:

  1. 客户端是测试用例的子类。当我们运行 manage.py test 时,我们的 SimpleTest 类(继承自 TestCase)的实例会为每个以“test_”开头的方法创建。这是自己。

来自 source看起来 Client 根本不是 TestCase 的子类。

class Client(RequestFactory):
"""
A class that can act as a client for testing purposes.

我看不到来源在哪里? Client 类正在被实例化并附加到 TestCase 实例,但它在某处。

Django 是完全开源的,因此只要有一些空闲时间,就可以很容易地追踪事情发生的方式和地点。 https://github.com/django/django按照导入路径和 grepping 可以找到所有答案

关于django - Django TestCase 中的 client 和 client.Client 到底有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13242112/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com