我在会员模型的电子邮件字段上设置了唯一约束。现在,在编写单元测试时,由于唯一约束到期,我的测试失败了。
def setUp(self):
self.car_provider = mommy.make(Member, username="car_provider")
self.car_provider.set_password("12345678")
self.car_provider.save()
self.applicant = mommy.make(Member, username="applicant")
self.applicant.set_password("12345678")
self.applicant.save()
我收到以下错误: “ django.db.utils.IntegrityError:重复的键值违反了唯一约束” account_member_email_a727987b_uniq“ 详细信息:密钥(电子邮件)=()已经存在。“
答案 0 :(得分:0)
如果将email
设置为唯一字段,则实际上您必须对此情况进行测试并以某种方式处理该异常。
但是要进行此测试,您应该在每个email
调用中为mommy.make()
字段提供一个明确的值。或者,您可以使用_fill_optional
选项用随机生成的值填充它。
赞:
self.car_provider = mommy.make(Member, username="car_provider", _fill_optional=['email'])