2010-09-18 5 views
8

मैं अपने PHP स्रोत कोड का परीक्षण करने के लिए PHPUnit का उपयोग कर रहा हूं, लेकिन मुझे क्लाइंट-साइड कोड का परीक्षण करने का एक तरीका भी चाहिए। मैं एक्स्टजेस का उपयोग जटिल जटिल इंटरफेस बनाने के लिए करता हूं जो डेटा के लिए सर्वर को कॉल करते हैं। मैं सोच रहा हूं कि यूआई का परीक्षण कैसे होता है?एक्स्टजेस या इसी तरह के जावास्क्रिप्ट आधारित इंटरफेस का परीक्षण कैसे करें?

उत्तर

4

कई अलग-अलग तरीके हैं।

यदि आप इसे कार्यात्मक रूप से परीक्षण करना चाहते हैं (उपयोगकर्ता की तरह) तो Selenium या Watir जैसे कुछ का उपयोग करें। यह आपकी साइट के माध्यम से उपयोगकर्ता के रूप में काम करेगा और जावास्क्रिप्ट और बैकएंड कोड का प्रयोग करेगा।

यदि आप केवल अपनी जावास्क्रिप्ट का परीक्षण करना चाहते हैं तो मैं JSTestDriver का उपयोग करूंगा। यह आपको अपनी जावास्क्रिप्ट का परीक्षण करने की अनुमति देता है। यह एसिंक कॉल का समर्थन नहीं करता है लेकिन परीक्षण कर सकता है।

+2

जेएसटेस्टड्राइवर अब परीक्षण एसिंक कॉल का समर्थन करता है! Http://code.google.com/p/js-test-driver/wiki/AsyncTestCase देखें – mistaecko

7

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

मैं अपने यूनिट परीक्षण के लिए व्यक्तिगत रूप से Jasmine का उपयोग करता हूं, जैसा कि बाहरी जेएस टीम आंतरिक रूप से करता है, हालांकि यह यूआई परीक्षण के लिए विशेष रूप से उपयुक्त नहीं है (हालांकि यह कोड परीक्षण के लिए बहुत अच्छा है)।

4

मैं बस Siesta पर चला गया, जो विशेष रूप से ExtJS के लिए है। यह आशाजनक लग रहा है। वी 3 से v4 में माइग्रेट करते समय एक्स्ट टीम अपने एपीआई का परीक्षण करने के लिए प्रयोग करती है।

0

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

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

चूंकि सिएस्टा ऐसी परियोजना के लिए सबसे स्पष्ट विकल्प है, तो अगला चरण मूल Brynthum tutorial का पालन करना था। हालांकि आईडीई के बाहर जाने और एकीकरण के नुकसान के साथ उत्पादन खिड़कियों को गुणा करना बेहतर नहीं था।

महत्वपूर्ण, कि ब्रिनथम ट्यूटोरियल में भी एक चाल है। ब्रायनथम हार्नेस ब्राउज़र में अपना पहला परीक्षण पास करने के बाद, आप दाईं ओर कोई परीक्षण विवरण नहीं देख सकते हैं और ब्राउज़र त्रुटि का सामना नहीं कर सकते हैं Uncaught TypeError: नल की संपत्ति 'parentNode' नहीं पढ़ सकता। इसका कारण यह है कि ब्रिनथम हार्नेस ब्राउज़र के लिए एक्स्टजेस लाइब्रेरी को सिएस्टा लाइब्रेरी संस्करण से अनिवार्य होना है। वर्तमान में Siesta 2.0.5 = Ext 4.2.0। आपके प्रोजेक्ट उद्देश्यों के लिए अन्य ExtJS लाइब्रेरी संस्करण कॉन्फ़िगरेशन फ़ाइल में अपलोड किया जा सकता है।

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