मैं डेटाबेस लॉजिक का परीक्षण कैसे करूंगा?


12

मैं अभी भी एक छोटे से मुद्दे पर हो रही है जब यह TDD की बात आती है।

मुझे एक ऐसी विधि की आवश्यकता है जो डेटा परत (linq2SQL) से फ़िल्टर किए गए डेटा का एक निश्चित रिकॉर्ड सेट प्राप्त करेगी। कृपया ध्यान दें कि मैं DBML से उत्पन्न linq उत्पन्न वर्गों का उपयोग कर रहा हूँ। अब समस्या यह है कि मैं इसके लिए एक परीक्षण लिखना चाहता हूं।

क्या मैं:

ए) पहले परीक्षण में रिकॉर्ड डालें और फिर विधि निष्पादित करें और परिणामों का परीक्षण करें

बी) डेटाबेस में हो सकता है कि डेटा का उपयोग करें। इस तर्क पर उत्सुक नहीं होने के कारण यह चीजों को तोड़ने का कारण बन सकता है।

ग) आप क्या सुझाव देते हैं?

जवाबों:


7

पर भिन्नता (a)।

परीक्षण का db या उपधारा है जो परीक्षण के लिए इस्तेमाल किया जा सकता है। जब आप अपने परीक्षण सेट कर रहे हैं, तो एक दिनचर्या है जो डीबी को प्रारंभ करता है क्योंकि आपको परीक्षण शुरू करने के लिए इसकी आवश्यकता होती है (यह प्रत्येक परीक्षण से पहले, उपयुक्त के रूप में किया जा सकता है)। इसमें डेटा हटाना, डेटा डालना आदि शामिल हो सकते हैं, फिर अपने परीक्षण चलाएं। टियरडाउन चरण में, अपने आप को साफ करें। लाइव सिस्टम को बाधित करने के जोखिम के बिना जितना आवश्यक हो उतना दोहराया जा सकता है (डेटाबेस में डेटा का उपयोग करके परीक्षण करने के लिए एक अच्छा विचार नहीं है जो किसी और चीज के लिए आवश्यक है)।


1
अच्छा उत्तर। मुझे sqlite का उपयोग करके थ्रो-दूर डेटाबेस बनाना पसंद है। यदि आप डेटाबेस कार्यान्वयन के लिए विशिष्ट चीज़ों का परीक्षण करना चाहते हैं, तो यह संभव नहीं है (उदाहरण के लिए, ट्रिगर), लेकिन यह त्वरित और हानिरहित सेटअप / अशांति की अनुमति देता है।
बोगेमिन

1
@bogeymin - यदि आप चाहें तो आप ट्रिगर्स के साथ एक परीक्षण DB भी सेट कर सकते हैं (यदि आप स्थिरता के दौरान स्क्रिप्ट के साथ पूरी db बना सकते हैं)
Yaakov Ellis
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.