4

我对“自我”的理解是,它的意思是“包含此方法的类的实例”。因此,当默认 django 测试读取时:

class SimpleTest(TestCase):
    def test_basic_addition(self):

在某种意义上,我们向 test_basic_addition 传递了一个 SimpleTest 实例,在某些时候 setUp 方法中定义的动作(如果有的话)已应用到该实例。大概manage.py test以某种方式创建了这个实例,但我真的不明白它是什么!这里到底发生了什么?

4

1 回答 1

3

SimpleTest实际上,测试运行器确实为您创建的每个测试方法创建了您的测试类 ( ) 的一个实例。self指那个实例。

unittest文档中:

每个实例都TestCase将运行一个测试方法:名为methodName.

这意味着您可以在测试类上使用额外的“帮助”方法,并使用self.name_of_helper_method().

您通常不必担心unittest框架如何加载和运行您的测试,但unittest文档可以更详细地解释这一点。

于 2012-11-03T14:31:08.670 回答