我应该测试Django模型吗?到目前为止,我一直在为视图编写测试。还有什么可以和进行测试?
答案 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应用程序,您应该测试 - 模型,管理器,表单,视图,序列化器,处理程序,甚至中间件(正如我所说的所有内容)