2012-05-18 13 views
7

मैं एक नई परियोजना पर काम कर रहा हूं, जहां मैं स्क्रीन पर कुछ डेटा प्रदर्शित करना चाहता हूं। मैंने खुद को टीडीडी का उपयोग करने के लिए सेट किया जो मेरे लिए नया है, लेकिन मुझे विचार पसंद है और अब तक ठीक है।एक जेएफआरएएम कैसे करें?

मैंने एक जेएफआरएम स्थापित किया, एक टेक्स्टरेरा जोड़ें और वहां टेक्स्ट डाला, लेकिन मैं इसका सही तरीके से परीक्षण कैसे कर सकता हूं? या मेरी तरफ से टीडीडी संदर्भ में यह गलत सोच है? मैं सुनिश्चित करना चाहता हूं (टीडीडी तरीके से), कि डेटा सही ढंग से प्रदर्शित हो जाता है! सृजन प्रदर्शित होने वाले पाठ का सही ढंग से परीक्षण के साथ कवर किया गया है, लेकिन प्रदर्शित नहीं है।

यहाँ एक पूरी तरह से सरल बनाया उदाहरण है:

public class MyTextDisplay { 
    public static void main(String[] args) { 
     JFrame my_frame = new JFrame("DisplaySomeText"); 
     my_frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

     JTextArea textArea = new JTextArea(5, 20); 
     textArea.setEditable(false); 

     my_frame.add(textArea); 
     my_frame.setVisible(true); 

     //this would be in a separate method 
     textArea.append("Hello World"); 
    } 
} 
+0

क्या आप वाकई अपने टीडीडी जीवन चक्र में सीमा परीक्षण ("इकाई" यूआई परीक्षण) शामिल करना चाहते हैं? मैं टीडीडी का एक बड़ा समर्थक हूं, लेकिन सीमा परीक्षण, केवल सेवा परत और व्यापार परत के अन्य हिस्सों को शामिल नहीं करता हूं। –

+0

बास्टियन, यह एक महान पहला सवाल है। +1। इसमें प्रयास करने के लिए धन्यवाद। – jmort253

+0

तो प्रदर्शन और सामान का परीक्षण पूरी तरह से अलग विषय के रूप में देखा जाना चाहिए? जैसा कि बताया गया है, मैं टीडीडी के लिए काफी नया हूं ... –

उत्तर

5

TDD चीजों के बारे में सोचने के लिए एक छोटा सा अलग ढंग से की आवश्यकता है। आप पहले यह निर्धारित करते हैं कि आप परीक्षण के लिए क्या जा रहे हैं, और समाधान के लिए वास्तव में कोई कोड लिखने से पहले आप इसका परीक्षण कैसे करेंगे।

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

मैं अपने डिजाइन पर ध्यान केंद्रित करना चाहता हूं और यह सुनिश्चित करना चाहता हूं कि टेक्स्ट वैल्यू जो कुछ भी उत्पन्न कर रहा है, वैसे ही काम करता है। जीयूआई "गूंगा" होना चाहिए और केवल मूल्यों को प्रदर्शित करने या पुनर्प्राप्त करने पर ध्यान केंद्रित करना चाहिए, यदि कम मूल्य वास्तव में सही हैं तो कोई चिंता है।

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

+0

मैं जीयूआई को जितना मजबूत कर सकता हूं उतना मजबूत कर दूंगा और इसे अपने टीडीडी चक्र से बाहर कर दूंगा! Thx –

+0

उत्कृष्ट विकल्प। आपके जीयूआई में कभी तर्क नहीं होना चाहिए जो आपके एप्लिकेशन के काम में हस्तक्षेप कर सकता है। – Ewald

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