我应该测试 Django 模型吗?到目前为止,我一直在为视图编写测试。还有什么可以而且应该测试的?
问问题
123 次
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 回答