2010-02-04 9 views
7

मैं किसी फॉर्म के सत्यापन तर्क के is_valid भाग का परीक्षण करना चाहता हूं। अपने परीक्षण चालक में मेरे पास है:मैं Django में यूनिट परीक्षण ड्राइवर में किसी फ़ॉर्म के सत्यापन तर्क का परीक्षण कैसे कर सकता हूं?

 
    test_animal = Animal(name="cat", number_paws="4") 
    test_animal_form = AnimalForm(instance=test_animal) 
    assertEqual(test_animal_form.is_valid(), True) 

दावे विफल रहता है, लेकिन क्या से मैं देख रहा हूँ वहाँ के रूप में किसी भी त्रुटि नहीं होना चाहिए। मुझे फॉर्म में कोई सत्यापन त्रुटियां नहीं दिखाई देती हैं। यदि यह फ़ॉर्म में लोड होने पर test_animal उदाहरण मान्य होना चाहिए तो यह परीक्षण केस के रूप में कार्य करना चाहिए?

उत्तर

16

कारण आप सत्यापन त्रुटियां देख रहे हैं क्योंकि instance डेटा सत्यापन के लिए उपयोग नहीं किया जाता है, तो आपको फ़ॉर्म में भेजे गए डेटा को निर्दिष्ट करना होगा।

test_animal = Animal(name="cat", number_paws="4") 
test_animal_form = AnimalForm(instance=test_animal) 
assertEqual(test_animal_form.is_valid(), False) # No data has been supplied yet. 
test_animal_form = AnimalForm({'name': "cat", 'number_paws': 4, }, instance=test_animal) 
assertEqual(test_animal_form.is_valid(), True) # Now that you have given it data, it can validate. 
+7

'assertTrue',' assertFalse 'जैसे शोरकट हैं –

संबंधित मुद्दे