कम से कम एक वेब अनुप्रयोग विकास दृष्टिकोण से यूनिट परीक्षण, वास्तव में यूआई डिज़ाइन को कवर नहीं कर सकते हैं। क्या इकाई परीक्षण कर सकते हैं मदद आपके सभी नियंत्रक तरीकों और/या किसी भी सिंगलटन/वैश्विक कार्यों आप के चारों ओर लटक है के इनपुट/आउटपुट का परीक्षण करने के लिए है के साथ। तो, आप अपने फ़ॉर्म सत्यापन पर इकाई परीक्षण कवरेज पाने के लिए चाहते हैं, तो सुनिश्चित करें कि आपके आवेदन को इस तरह से है कि आप अपने सत्यापन समारोह यूआई के स्वतंत्र परीक्षण कर सकते हैं में संरचित है बनाते हैं।
class SomeController extends ... {
... function isAPhoneNumber($string){
if(...) {
return true;
}
else (...) {
return false;
}
}
}
यह सभी कोड छोड़ देता है जो इस विधि को आपके मूल्य को अनचाहे करता है।इसका परीक्षण करने का एकमात्र प्रभावी तरीका यूआई का परीक्षण सीधे ब्राउज़र रिमोट कंट्रोल जैसे Selenium के साथ करना है। PHPUnit testing framework में सेलेनियम के PHP ड्राइवर का उपयोग करने के लिए हुक है, जिसका अर्थ है कि आप उसी परीक्षण धावक का उपयोग अपने अन्य यूनिट परीक्षणों के रूप में कर सकते हैं।
आप कभी भी 100% आश्वासन नहीं देंगे कि एक निर्दोष परिवर्तन आपके सेलेनियम परीक्षणों को पूरा नहीं करेगा, लेकिन विकास के दौरान आप इसे कम करने के लिए कुछ कदम उठा सकते हैं। सेलेनियम में various different ways है जो किसी तत्व को "लक्षित" करने के लिए क्लिक करता है या टाइप करता है। आप लक्ष्यीकरण का उपयोग करना चाहते हैं जो जितना संभव हो उतना सटीक है, इसलिए अपने सभी (एक्स) HTML नोड्स को एक अद्वितीय आईडी तत्व देने का प्रयास करें। यह सुनिश्चित करता है कि सेलेनियम एक लिंक पर क्लिक करेगा चाहे वह किसी पृष्ठ पर समाप्त हो।
जब कोई अनूठा आईडी संभव नहीं है, तो कुछ तत्वों के साथ सामान्य तत्वों को लपेटने का प्रयास करें, जिनमें एक अद्वितीय पहचानकर्ता है, और फिर सेलेनियम की xpath tareting क्षमताओं का उपयोग करने के लिए कहें "उस लिंक पर क्लिक करें जिसमें टेक्स्ट" साइनअप "है "foo" की आईडी के साथ div, या "foo" की आईडी के साथ div में तीसरा लिंक क्लिक करें।
तो आइटम इसके ऊपर से स्पष्ट नहीं है, कर लक्ष्यीकरण विकल्प पर भरोसा नहीं है कि सेलेनियम आईडीई (या अन्य रिकॉर्डर) उठाएंगे। उनका लक्ष्य यह सुनिश्चित करना है कि उस सटीक पृष्ठ पर परीक्षण चलाने से आपको वही परिणाम मिलेंगे, जो आपको बहुत ही नाजुक एक्सपैथ दे सकता है। हमेशा आपके द्वारा रिकॉर्ड किए गए परीक्षणों की समीक्षा करें, और कमजोर लक्ष्यीकरण को ठीक करें।
यहां कोई आसान जवाब नहीं है। यदि वहां थे, तो वेब एप्लिकेशन बहुत कम छोटी गाड़ी होगी।
स्रोत
2009-04-29 20:09:59
http://stackoverflow.com/questions/570451/how-to-best-do-unit-testing-for-a-web- appplication –