आपको एक कस्टम टेस्ट धावक प्रदान करने की आवश्यकता होगी।
डिफ़ॉल्ट django.test.runner.DiscoverRunner
के साथ ओवरराइड करने में आपकी रूचि DiscoverRunner.setup_databases
और DiscoverRunner.teardown_databases
विधियां हैं। ये दो विधियां परीक्षण डेटाबेस बनाने और नष्ट करने में शामिल हैं और केवल एक बार निष्पादित की जाती हैं। आप परीक्षण-विशिष्ट परियोजना सेटिंग्स प्रदान करना चाहेंगे जो डिफ़ॉल्ट रूप से आपके मौजूदा परीक्षण डेटाबेस का उपयोग करें और इन्हें ओवरराइड करें ताकि डंप डेटा लोड हो और परीक्षण डेटाबेस नष्ट न हो।
डंप के आकार और सामग्रियों के आधार पर, एक सुरक्षित शर्त केवल एक उपप्रोसेसर बनाने के लिए हो सकती है जो आपके डेटाबेस के SQL कमांड-लाइन इंटरफ़ेस को डंप पाइप करेगी, अन्यथा आप कर्सर और execute queries directly प्राप्त कर पाएंगे।
अपने पूरी तरह से स्थिरता लोड हो रहा है से छुटकारा पाने के लिए देख रहे हैं, तो आप एक कस्टम आधार परीक्षण का मामला है कि TestCase._fixutre_setup
और TestCase._fixutre_teardown
तरीकों NOOP होने के लिए ओवरराइड साथ Django के डिफ़ॉल्ट django.test.testcases.TestCase
फैली प्रदान कर सकते हैं।
कैविट एम्प्टर: यह धावक आपके आवेदन के स्रोतों के अलावा किसी भी चीज़ के परीक्षणों को सुविधाजनक बनाना असंभव कर देगा। अपने मौजूदा डेटाबेस से कनेक्शन के लिए एक विशिष्ट उपनाम बनाने और डंप लोड करने के लिए रनर को कस्टमाइज़ करना संभव है, फिर एक कस्टम टेस्ट केस प्रदान करें जो TestCase._database_names
को इसके उपनाम को इंगित करने के लिए ओवरराइड करता है।
स्रोत
2013-09-20 13:52:57
यदि आप एक एसक्यूएल डंप से डेटा लोड कर रहे हैं तो मौजूदा डेटाबेस का उपयोग किस तरीके से कर रहे हैं? मैं डंप लोड करने, फिक्स्चर बनाने और पारंपरिक परीक्षण दृष्टिकोण का उपयोग करने का सुझाव दूंगा। – shanyu
डंप से बहुत सारे डेटा और लोडिंग फिक्स्चर – pyeleven
से लोड होने से तेज़ है, इसलिए यह मौजूदा डेटाबेस का उपयोग करने के बारे में नहीं है। क्या आप 100% सुनिश्चित हैं कि आपको पूर्ण डेटा का उपयोग करके परीक्षण करने की आवश्यकता है? परीक्षण के लिए नमूना पर्याप्त हो सकता है? – shanyu