-1

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

4

2 回答 2

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')
于 2015-08-19T07:11:39.490 回答
1

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

于 2015-08-19T07:17:05.820 回答