通过阅读文档我的理解是这样的:
manage.py test
时,会为每个启动'test_'的方法创建一个SimpleTest类的实例(继承自TestCase)。这是self
。self.client
时,我们所指的是在创建TestCase时实例化的特定客户端,而不客户端类在TestCase下面一层。 这是对的吗?如果是这样,这是怎么回事 - 与Superclasses有关?
答案 0 :(得分:1)
如果我正确理解你的问题和documentation。提供client
属性是为了方便每个测试都可以访问from django.test.client import Client
客户端实例。
你的第一个问题:
看起来客户端根本不是TestCase的子类。
class Client(RequestFactory):
"""
A class that can act as a client for testing purposes.
从源头上我看不到哪里?正在实例化Client类并将其附加到TestCase实例,但它在某处。
Django是完全开源的,因此在一些空闲时间内,很容易找到事情和事情发生的方式。 https://github.com/django/django按照导入路径和周围的搜索可以找到所有答案