4

我一直很享受 Django 1.8 中的 setUpTestData 和 --keepdb 带来的便利!

但是,我遇到了在多个测试文件中保持数据一致的问题。我想将我的 setUpTestData 类方法放在一个位置,并让我的每个测试文件都引用它,这样我就不必将更改复制/粘贴到每个单独的测试文件中。

我对如何解决这个问题有点困惑,特别是关于似乎阻止我从另一个文件导入我的 setUpTestData 函数的类方法。有人能帮我吗?提前谢谢!

当前测试文件

from django.test import TestCase
from models import SpecificModel 

class TestData(TestCase):

    @classmethod
    def setUpTestData(cls):
        cls.test_item = SpecificModel.objects.create(data="some data")

设置数据文件

???
4

1 回答 1

6

你可以只继承声明该​​方法的 TestData 类吗?

base_tests.py

from django.test import TestCase
from models import SpecificModel 

class TestData(TestCase):

    @classmethod
    def setUpTestData(cls):
        cls.test_item = SpecificModel.objects.create(data="some data")

具体测试.py

from .base_tests import TestData

class SubclassOfTestData(TestData):
    # Inherits `setUpTestData`
    pass
于 2015-07-19T22:38:38.053 回答