के बाद डाटाबेस क्लीनअप मुझे जूनिट का उपयोग करके कुछ थ्रिफ्ट सेवाओं का परीक्षण करना होगा। जब मैं एक थ्रिफ्ट क्लाइंट के रूप में अपने परीक्षण चलाता हूं, तो सेवाएं सर्वर डेटाबेस को संशोधित करती हैं। मैं एक अच्छा समाधान खोजने में असमर्थ हूं जो प्रत्येक परीक्षण चलाने के बाद डेटाबेस को साफ कर सकता है। सफाई महत्वपूर्ण है क्योंकि विशेष रूप से आईडी को अद्वितीय होने की आवश्यकता है जो वर्तमान में एक XML फ़ाइल बनाते हैं। अब, मुझे परीक्षण चलाने के बाद आईडी को मैन्युअल रूप से बदलना होगा, ताकि परीक्षण का अगला सेट डेटाबेस में प्राथमिक कुंजी उल्लंघन फेंकने के बिना चलाया जा सके। यदि मैं प्रत्येक परीक्षण चलाने के बाद डेटाबेस को साफ़ कर सकता हूं, तो समस्या पूरी तरह से हल हो जाती है, अन्यथा मुझे यादृच्छिक आईडी उत्पन्न करने और आईडी की आवश्यकता होने पर उनका उपयोग करने जैसे अन्य समाधानों के बारे में सोचना होगा।जूनिट परीक्षण
संपादित करें: मैं इस बात पर जोर देना चाहूंगा कि मैं एक सेवा का परीक्षण कर रहा हूं, जो डेटाबेस को लिख रहा है, मेरे पास डेटाबेस तक सीधी पहुंच नहीं है। लेकिन चूंकि, सेवा हमारी है, यदि आवश्यक हो तो मैं कोई क्लीनअप विधि प्रदान करने के लिए सेवा को संशोधित कर सकता हूं।
"जब तक आप विशिष्ट डेटाबेस क्रियाओं का परीक्षण नहीं करते हैं (सत्यापित करते हैं कि आप उदाहरण के लिए डेटाबेस को क्वेरी या अपडेट कर सकते हैं) आपके जुनीट को वास्तविक डेटाबेस में नहीं लिखा जाना चाहिए।" इसके बारे में कोई सार्वभौमिक समझौता नहीं है। एक शिविर में, हमारे पास वे लोग हैं जो मानते हैं कि डेटाबेस को मजाक किया जाना चाहिए और दूसरी तरफ हमारे पास उन लोगों का मानना है जो सभी डेटाबेस परीक्षण वास्तविक डेटाबेस के खिलाफ किए जाने चाहिए, आदर्श रूप से उत्पादन डेटाबेस से मेल खाता है। – Behrang
क्षमा करें, मैं इन सभी चीजों के लिए थोड़ा नया हूं, कुछ समय के लिए फ्लेक्स में कोडिंग कर रहा था। क्या आप कृपया मुझे बताएंगे कि मुझे क्या करना है। मुझे यकीन नहीं है कि आप नकली कक्षाओं का क्या मतलब रखते हैं और डेटाबेस को संशोधित नहीं करते हैं। आम तौर पर, मेरे द्वारा चलाए जाने वाले परीक्षण नए ग्राहक बनाते हैं और ऑर्डर और अन्य चीजों को बनाने के लिए उस ग्राहक का उपयोग करते हैं। डेटाबेस में नहीं होने पर यह सब डेटा कहां जाएगा? – Ashish
जब आपको डेटा पुनर्प्राप्त करने की आवश्यकता होती है तो आप एक कक्षा बनाते हैं और जिस विधि को आपको आवश्यक डेटा लौटने की आवश्यकता होती है उसे लागू करें। यदि आपको डेटा को सहेजने की आवश्यकता है तो आप एक वर्ग बनाते हैं और सहेजते हैं (जिसे भी कहा जाता है) विधि। यह विधि केवल डेटा वैरिएबल (ओं) में स्टोर कर सकती है। यदि आपको सहेजने और पुनर्प्राप्त करने की आवश्यकता है तो उन विधियों को केवल उसी आवृत्ति चर (ओं) से पढ़ने और लिखने की आवश्यकता है। – brainimus