2

我正在为 Django 中的自定义管理器编写一个测试套件,并且想要测试大量项目。

本质上,由于组合爆炸,它需要创建数千个项目。

我需要的是一种在数据库中创建大量django 对象并通过整个测试类保留它们而不是重新创建它们的方法。

我有以下代码:

class CustomConceptQuerySetTest(TestCase):
    def setUp(self):
        pass #make lots and lots of items.

    def test_is_public(self):
        pass # check if returned items in the object.public() queryset are actually "public"
    def test_is_editable(self):
        pass # check if returned items in the object.viewable() queryset are actually "viewable" only to certain users.

不幸的是,setUp在每次测试之前都会调用,但测试期间内容不会改变,只会读取,并且每次都是一样的。

Django 中有没有办法保留数据库,或者防止测试类中的回滚或破坏?

4

1 回答 1

6

您可以使用类方法setUpClass()

class CustomConceptQuerySetTest(TestCase):
    @classmethod
    def setUpClass(cls):
        ...
于 2015-03-29T03:56:26.313 回答