2013-06-19 51 views
1

我想創建一個單元測試在django測試表單,同時傳遞一些初始數據,看看它是否有效或無效。問題是框​​架不允許你將初始值設置爲密碼字段,除了子類以外還有別的辦法嗎(我想避免...只是爲了密碼字段)?我的代碼如下。Django單元測試的形式與密碼

def test_new_user_joining(self): 
    form_data = { 
     'full_name': #invalid value, 
     'email': '[email protected]', 
     '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') 

回答

3

在這種情況下,你只需要使用一個數據 ARG而不是初始

def test_new_user_joining(self): 
    form_data = { 
     'full_name': #invalid value, 
     'email': '[email protected]', 
     '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') 
+0

*初始*用於爲表單的字段設置默認值。 –