自定义模型管理器方法的Django单元测试
问题描述:
我在python和django中很新。自定义模型管理器方法的Django单元测试
我有一个自定义的模型管理器模型的方法,在这里我对一些exceptions.now提高 ValidationError
我要测试的这款定制经理method.but不知道如何捕捉ValidationError
或任何其它错误的方面测试django模型的海关经理方法。
我的情况描述如下,
class CustomModelManager(model.Manager):
def custom_method(self):
#for some exception
raise ValidationError('a sample validation error')
class SampleModel(models.Model):
###fields
objects = CustomModelManager()
我曾尝试以下的单元测试,但其没有工作,
def test_samle_model(self):
issues = Issues.objects.custom_method(field1='wrong field')###this will raise that validationError
self.assertEqualValidationError, 'a sample validation error')
,才有可能赶上“任何错误”测试?或者我错过了什么?
答
def test_sample_model(self):
with self.assertRaises(ValidationError):
issues = Issues.objects.custom_method(field1='wrong field')
答
with self.assertRaises(ValidationError):
issues = Issues.objects.custom_method(field1='wrong field')
为什么你会从一个经理提出一个ValidationErrom?这属于验证器。 –