我想在django中创建一个单元测试,测试表单,同时将一些初始数据传递给它,看看它是有效还是无效。问题是框架不允许你将初始值设置为密码字段,除了子类化之外还有其他任何方法吗(我想避免...仅用于密码字段)?我的代码如下。
def test_new_user_joining(self):
form_data = {
'full_name': #invalid value,
'email': 'test_email@gmail.com',
'password': 'password'
}
form = SignupForm(initial=form_data)
if form.is_valid():
self.fail('Form should not be valid')
form_data['full_name'] = # valid value
form = SignupForm(initial=form_data)
if not form.is_valid():
self.fail('Form should be valid')
答案 0 :(得分:3)
在这种情况下,您只需使用数据 arg而不是 initial :
def test_new_user_joining(self):
form_data = {
'full_name': #invalid value,
'email': 'test_email@gmail.com',
'password': 'password'
}
form = SignupForm(data=form_data)
if form.is_valid():
self.fail('Form should not be valid')
form_data['full_name'] = # valid value
form = SignupForm(data=form_data)
if not form.is_valid():
self.fail('Form should be valid')