gpt4 book ai didi

django - 在 Django 中测试 ValidationError

转载 作者:行者123 更新时间:2023-12-02 07:08:01 25 4
gpt4 key购买 nike

如果我有一个名为 Enquiry 的模型,其属性为 email,我如何检查使用无效电子邮件创建查询是否会引发错误?

我已经尝试过了

def test_email_is_valid(self):
self.assertRaises(ValidationError, Enquiry.objects.create(email="testtest.com"))

但是我收到错误

TypeError: 'Enquiry' object is not callable

我不太明白,有人知道测试电子邮件验证的正确方法吗?

最佳答案

当您调用 save()create() 时,Django 不会自动验证对象。您可以通过调用 full_clean 来触发验证方法。

def test_email_is_valid(self):
enquiry = Enquiry(email="testtest.com")
self.assertRaises(ValidationError, enquiry.full_clean)

请注意,您在上面的代码中没有调用 full_clean()。您可能更喜欢上下文管理器方法:

def test_email_is_valid(self):
with self.assertRaises(ValidationError):
enquiry = Enquiry(email="testtest.com")
enquiry.full_clean()

关于django - 在 Django 中测试 ValidationError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37344038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com