6

मैं डेल्फी का उपयोग कर रहा हूं 7.डुनिट का उपयोग करके हम किस प्रकार के टेस्ट केस लिख सकते हैं?

मैं डुनिट के लिए नया हूं, मेरा संदेह यह है कि मैं ड्यूनिट का उपयोग करके किस प्रकार के टेस्ट केस लिख सकता हूं और यह कैसे (मेरे लिए यह बहुत महत्वपूर्ण है)।

क्या किसी विशेष बटन क्लिक ईवेंट के लिए परीक्षण केस लिखना संभव है? क्योंकि उस घटना में कोड का एक बड़ा सेट हो सकता है जिसमें अधिक इकाइयों को उनके संबंधित डेटाबेस से संबंधित प्रक्रियाओं या कार्यों के साथ बुलाया जाता है। उस स्थिति में, परीक्षण मामलों को लिखने का सर्वोत्तम तरीका क्या है और कैसे? (यदि संभव हो, तो एक उदाहरण या रेफरल मेरे लिए एक बड़ी मदद होगी)।

क्योंकि नमूना डुनिट प्रोजेक्ट में हम आवेदन कोड के पूरे सेट नहीं लिख सकते हैं, क्योंकि कुछ मामलों में कुछ अन्य फॉर्म बनने की आवश्यकता हो सकती है।

तो, मेरा संदेह ऐसी परिस्थितियों के लिए है कि परीक्षण मामलों को कैसे लिखना है, और आम तौर पर हम किस प्रकार के परीक्षण मामलों को डुनिट का उपयोग करके लिख सकते हैं और महत्वपूर्ण रूप से कैसे?

+5

आप DUnit साथ यूआई परीक्षण लिख सकते हैं, लेकिन यह है कि के लिए समर्थन नहीं बल्कि सीमित है। हालांकि, कृपया मुझे बताएं कि आपका एप्लिकेशन तर्क 'ऑनक्लिक' ईवेंट हैंडलर में मौजूद है। यदि आपने एप्लिकेशन लॉजिक से जीयूआई को अलग करने के लिए अपने आवेदन को फिर से पहचाना है, तो आप सीधे आवेदन तर्क का परीक्षण कर सकते हैं। –

+0

कई संभव तरीके परीक्षण योग्य कोड का उत्पादन करने में से एक के रूप में मॉडल देखें ViewModel (MVVM) पर एक नज़र डालें। यह समझने के बाद कि आपको DUnit बिंदु –

+1

एमवीवीएम के लिए मिलेगा, आप CodeRage7 से वीडियो देखना चाहेंगे - http://blogs.embarcadero.com/davidi/2012/11/20/41986 –

उत्तर

16

यह एक टिप्पणी होनी चाहिए, लेकिन मैं इसे एक उत्तर के रूप में लिख रहा हूं क्योंकि यह किसी टिप्पणी में फिट नहीं होगा।

मैं आपको दो काम करने का सुझाव देते हैं:

  • अपने इंटरफेस से अपने व्यापार तर्क decoupling की जांच करें (अपने कोड पुनर्रचना)
    आम तौर पर आप स्वयं युक्त इकाइयों में अपने कोड को विभाजित है, तो इकाई परीक्षण मुख्य कार्यक्षमता "तल से ऊपर" एक इकाई का। आप जीयूआई का परीक्षण नहीं करते हैं। Google उदा। "इकाई परीक्षण डेल्फी इकाइयों decoupling" आप इकाई परीक्षण के साथ क्या कर सकते हैं के लिए उदाहरण के लिए

  • चेक बाहर नीचे दिए गए लिंक:

http://www.howtodothings.com/computers/a928-automated-testing-with-dunit.html
http://www.nldelphi.com/cgi-bin/articles.exe/ShowArticle?ID=14697
https://lists.sourceforge.net/lists/listinfo/dunit-interest
http://www.delphi-treff.de/tutorials
http://sourceitsoftware.blogspot.com/2008/10/getting-line-numbers-in-dunit-test.html
http://wiert.me/2010/09/08/delphi-use-tstrings-to-parse-non-standard-separated-strings-and-validate-it-with-dunit-tests/
http://delphi.about.com/od/vclusing/a/autotestvcl.htm
http://dunit.sourceforge.net/
http://delphi.about.com/od/toppicks/tp/aatpdebug.htm
http://www.nickhodges.com/post/Delphi-Mocks-The-Basics.aspx
http://www.finalbuilder.com/Resources/Blogs/tabid/458/EntryId/287/Introducing-Delphi-Mocks.aspx
https://github.com/Vsofttechnologies/delphi-mocks
http://www.uweraabe.de/Blog/2012/03/17/a-dunit-folder-iterator-extension/
Unit testing in Delphi - how are you doing it?
http://members.optusnet.com.au/~mcnabp/
http://www.nickhodges.com/post/The-Vocabulary-of-Unit-Testing.aspx
http://hanselminutes.com/169/the-art-of-unit-testing-with-roy-osherove

+0

मैं आपको कई लोगों को उखाड़ दूंगा अधिक समय अगर मैं – CheGueVerra

+1

कर सकता था और अपने कोड को दोबारा करने के लिए मैं बस इस परिचय पर ठोकर खाई: http://www.tabdee.ltd.uk/papers/IntroductionToRefactoring.html –

+0

बहुत यकीन है कि आप सभी को एक या दो लिंक हटा सकते हैं और इसे प्राप्त कर सकते हैं एक टिप्पणी के रूप में फिट करने के लिए। – BoltClock

4

सरल परीक्षण लिखकर इकाई परीक्षण सीखें। सरल परीक्षण एक वर्ग के लिए हैं जो आप बना रहे हैं जो यूनिट-टेस्टेबल है। एक यूनिट टेस्टेबल क्लास एक पूर्ण डेल्फी जीयूआई एप्लीकेशन नहीं है।

पहली बार एक व्यायाम के रूप में इस प्रयास करें:

  1. एक वर्ग है कि 1 से एक पूर्णांक कारक बन सकते हैं प्रधानमंत्री नंबरों की सूची में MAXINT है कि जब एक साथ गुणा, मूल संख्या में परिणाम करें। परिणामों को सबसे बड़ा कारक सबसे बड़ा सॉर्ट किया जाना चाहिए। यदि उस परिणाम सूची का आकार 1 है, तो परिणाम प्राइम है। शून्य और नकारात्मक संख्या अपवाद उठाते हैं।

  2. इसके बजाय एक बार में पूरी बात बनाने की, "लाल/हरी" विकास संचालित परीक्षण की कोशिश करो। इसका मतलब है कि पहला परीक्षण विफल करने के लिए बस पर्याप्त कोड लिखें। (पहले टेस्ट लिखें, पर्याप्त कोड उस वर्ग आप compiles और रन बना रहे हैं लिखते हैं, लेकिन परीक्षण विफल रहता है। अब पहले टेस्ट पास करते हैं। ऐसा नहीं है पूरे फैक्टरिंग-संख्या को हल, सिर्फ पहली परीक्षा उत्तीर्ण।)

  3. दोहराएँ नाकाम रहने के परीक्षण और उसके बाद कोड आप इसे पारित जब तक आप (अपने परीक्षण के साथ) प्रदान किया है बनाने की जरूरत है कि अपने वर्ग अब 1 से MAXINT के लिए किसी भी पूर्णांक मान कारक बन सकते हैं लिखने की प्रक्रिया।

यह "अपने मौजूदा विरासत अनुप्रयोगों में इकाई परीक्षण काम कर" की बात आती है, तो आप एक किताब "विरासत कोड के साथ प्रभावी ढंग से काम कर रहे" कहा जाता है की जाँच करनी चाहिए। मैं तुम्हें कैसे कीचड़ का एक बड़ा गेंद को इकाई परीक्षण को जोड़ने के लिए शुरू करने के बारे में जाने के लिए के लिए किसी भी संक्षिप्त परिचय नहीं दे सकता (अपने बटन कोड onclick)।

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