यदि आप अलगाव में जीडब्ल्यूटी विजेट का परीक्षण करना चाहते हैं, तो कई विकल्प नहीं हैं। आप अपने विगेट्स का दृष्टांत और उसके एपीआई, जो है गूगल GWT खुद को विजेट के लिए क्या करता है के माध्यम से यह परीक्षण करने के लिए एक GWTTestCase उपयोग कर सकते हैं: Source for RadioButtonTest
हालांकि, घटना-गोलीबारी तंत्र GWTTestCases में काम नहीं करता है, जिसका अर्थ आप कर सकते हैं प्रोग्रामेटिक रूप से एक बटन पर क्लिक न करें और श्रोता पर कुछ ऑनक्लिक() कॉलबैक विधि को लागू करने की अपेक्षा करें। अंतर्निहित डीओएम पर प्राप्त करना असंभव नहीं है, इसलिए यह निम्न स्तर के HTML-उत्सर्जन कोड का परीक्षण करने का सबसे अच्छा टूल नहीं हो सकता है।
ऐसा लगता है कि आप सभी सही चरणों का पालन कर रहे हैं; रॉब का आलेख मॉडल-व्यू-प्रेजेंटर (एमवीपी) डिज़ाइन पैटर्न का उपयोग करके टेस्टेबल कोड लिखने का उत्कृष्ट विवरण प्रदान करता है। दृश्य परत से जितना अधिक तर्क आप रखते हैं, उतना ही बेहतर। जब यह संभव नहीं है, तो गतिशील यूआई व्यवहार के केंद्रित परीक्षण बनाने के लिए सेलेनियम जैसे टूल का उपयोग करें।
मैंने इसी तरह की रणनीति का पालन किया - विजेट्स में न्यूनतम कोड के साथ एमवीपी। कुछ मामलों में मैंने कुछ कोड लिखा था जो ग्रिड क्लास को लपेटेंगे, इसलिए मैं अपने घटक को जीडब्ल्यूटीटेस्टकेस में तुरंत चालू करने में सक्षम था, इसे ग्रिड पास कर सकता था, मेरे घटक पर कुछ तरीकों का आह्वान करता था, और ग्रिड की स्थिति की जांच करता था। मैंने टेस्ट-फर्स्ट जीडब्ल्यूटी के बारे में बेहतर सॉफ्टवेयर के लिए एक लेख लिखा, जिसे आप on my blog पढ़ सकते हैं।
यदि आप गैर-यूआई जीडब्ल्यूटी कक्षाओं (जैसे यूआरएल एन्कोडिंग या डिक्शनरी) का उपयोग करने वाले कोड का परीक्षण करना चाहते हैं, तो आपको GWTTestCase का उपयोग करना होगा, या फिर कोड को तोड़ने के लिए बहुत आसान होने तक समान रैपिंग रणनीतियों का पालन करना होगा । फिर सेलेनियम, या कुछ लक्षित GWTTestCases जैसे टूल के साथ एकीकरण परीक्षण का उपयोग करें, जो केवल परीक्षण करता है कि आप लाइब्रेरी का सही ढंग से उपयोग कर रहे हैं - जैसा कि जेबी रेन्सबर्गर कहते हैं, "ढांचे का परीक्षण न करें!"
स्रोत
2009-01-06 02:39:47
बस मेरे 2 सेंट्स में से कुछ मेरे जीडब्ल्यूटी जेनिट परीक्षणों को चलाने के लिए जरूरी एक चेतावनी के बारे में जरूरी है जो ग्रहण में जेएमॉक का उपयोग करता है: मुझे कुछ विशिष्ट जुनीट टेस्ट क्लास के क्लासपाथ में जीडब्ल्यूटी-देव.जर जोड़ने की ज़रूरत है जो जेएमॉक का उपयोग करते हैं; ऐसा करने से पहले, इस तरह के वर्गों में यह त्रुटि थी: java.lang.NoClassDefFoundError: com/google/gwt/core/shared/GWTBridge – cellepo