Django模型应该进行测试吗?

时间:2015-08-19 06:22:15

标签: python django unit-testing django-models django-tests

我应该测试Django模型吗?到目前为止,我一直在为视图编写测试。还有什么可以和进行测试?

2 个答案:

答案 0 :(得分:3)

Django models是可以测试的。例如,您可以为为模型编写的属性编写测试用例。

class Candidate(models.Model):
    first_name = StringField()
    last_name = StringField()

    @property
    def name(self):
        return self.first_name + ' ' + self.last_name

现在你可以为这个模型编写这样的测试用例。首先创建一个模型实例

class TestCandidateModel(SimpleTestCase):

    def setUp(self):
        self.candidate = Candidate.objects.create(first_name = 'ABC', second_name = 'XYZ')

    def test_returns_candidate_name(self):
        self.assertEqual(self.candidate.name, 'ABC XYZ')

答案 1 :(得分:1)

应该测试什么?如果你想要一个简短的答案,“一切排除外部图书馆”。您的测试需要尽可能精细。如果在模型上定义了某种方法,那么您应该在模型中测试它,而不是在视图中间接测试它,并确保在视图中调用该方法。因此,对于典型的django应用程序,您应该测试 - 模型,管理器,表单,视图,序列化器,处理程序,甚至中间件(正如我所说的所有内容)