2015-05-28 5 views
11

मैं परीक्षण डेटाबेस को सहेजने के लिए --keepdb का उपयोग करने के लिए Django 1.8 और the docs का उपयोग कर रहा हूं।Django परीक्षण पूरा होने के बाद मैं परीक्षण डेटा कैसे रख सकता हूं?

मैं ऐसा कर रहा हूं और डेटाबेस वहां है लेकिन हर बार जब मैं इसे देखता हूं, तो यह खाली होता है और इसमें कोई डेटा नहीं होता है।

क्या कोई तरीका है कि मैं इसे संरक्षित कर सकूं ताकि मैं देख सकूं कि वहां क्या है?

+0

क्या आप लेनदेन-आधारित परीक्षणों का उपयोग कर रहे हैं? –

+0

@ थेनब्रिहल वे सरल परीक्षण हैं, मैं 'टेस्टकेस ' – user3214546

+0

आह का उपयोग कर रहा हूं। आगामी जवाब दें। –

उत्तर

9

आपका सभी कोड डेटाबेस लेनदेन के भीतर चल रहा है, जो प्रत्येक परीक्षण के अंत में वापस लुढ़क जाता है।

Django testing docs से:

:

यहाँ एक उदाहरण है जो django.test.TestCase, जो unittest.TestCase का एक उपवर्ग है कि एक सौदे के अंदर प्रत्येक परीक्षा चलाता अलगाव प्रदान करना है से उपवर्गों है

यह "अलगाव" का अर्थ है कि परीक्षण के के अंदर आपके द्वारा किए गए किसी भी परीक्षण को अगले परीक्षण शुरू होने से पहले वापस ले जाया जाएगा।

इसके बजाय, आप पाइथन की कक्षा unittest.TestCase का उपयोग करना चाहते हैं।

Django डॉक्स से एक और बोली:

unittest.TestCase का प्रयोग से बचा जाता है एक सौदे में प्रत्येक परीक्षा चल रहा है और डेटाबेस निस्तब्धता की लागत, लेकिन अगर आपके परीक्षण डेटाबेस के साथ बातचीत उनके व्यवहार आधार पर भिन्न होगी ऑर्डर कि परीक्षण धावक उन्हें निष्पादित करता है। यह यूनिट परीक्षणों का कारण बन सकता है जो अलगाव में चलते समय पास होते हैं लेकिन सूट में चलने पर असफल होते हैं।

जब तक आप गारंटी दे सकते हैं कि आपके परीक्षण एक दूसरे के डेटा को पकड़ नहीं पाएंगे, तो आप Django के परीक्षण मामले की बजाय सुरक्षित रूप से इस कक्षा का उपयोग कर सकते हैं।

+0

धन्यवाद, आप सही हैं। – user3214546

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