Django setUpTestData()不能用于继承吗?

时间:2016-11-03 10:34:28

标签: python django unit-testing

class MotherTestCase(TestCase):

    @classmethod
    def setUpTestData(cls):
        cls.my_value = "foo"

class ChildTestCase(MotherTestCase):

    def test_basic(self):
        self.assertEqual(self.my_value, "foo")

运行此测试时,我得到AttributeError: 'ChildTestCase' object has no attribute 'my_value'

你怎么解释这个?我知道我需要致电super(),但Django doc并未这样说

我在Github上看到一个related issue但它已经1岁了,似乎已经修好了。

注意:我使用的是Python 3.5.2和Django 1.9.10

1 个答案:

答案 0 :(得分:1)

这有点令人困惑,但是有2个不同的TestCase类。有unittest.TestCase和Django测试用例类django.test.TestCase。为了使它起作用,您必须从django.test导入,而不是unitttest。