我在python和django中很新。
我有自定义模型管理器的模型和方法,我正在筹集
ValidationError
关于一些例外情况。现在我想测试这个自定义管理器方法。但是在测试django模型的海关管理器方法方面不知道如何捕获ValidationError
或任何其他错误。
我的情景如下所示,
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')
是否有可能捕获'任何错误'进行测试?或者我错过了什么?
答案 0 :(得分:1)
with self.assertRaises(ValidationError):
issues = Issues.objects.custom_method(field1='wrong field')
答案 1 :(得分:1)
您想要`assertRaises':
def test_sample_model(self):
with self.assertRaises(ValidationError):
issues = Issues.objects.custom_method(field1='wrong field')