2011-06-28 14 views
16

मैं वर्तमान में अपने कोड (PHPUnit और जेनकींस का उपयोग करके) पर यूनिट परीक्षण कर रहा हूं लेकिन मैंने एकीकरण परीक्षण के बारे में बहुत कुछ पढ़ा है।PHP में एकीकरण परीक्षण कैसे करें?

  • क्या php (अधिमानतः स्वचालित) में इसे करने के लिए कोई उपकरण हैं?

  • मैं इसे लागू करने के बारे में कैसे जाउंगा? क्या कोई भी अच्छा ट्यूटोरियल कहीं भी है?

उत्तर

2

असल में जाने का रास्ता भी इकाई परीक्षण नकली परीक्षण जो पूरी तरह से अधिक एक साथ bunched इकाइयों के एक समूह की तरह एक इकाई का परीक्षण नहीं कर रहे हैं के अलावा लागू करने के लिए है और आप उन्हें एक तार्किक इकाई है जो एक से व्यवहार करना चाहिए के रूप में देखते कुछ इनपुट या कॉलिंग विधियों को सौंपते समय कुछ निश्चित तरीका।

इसके लिए एक संभावित लाइब्रेरी Google कोड भंडार में yaymock है। यह एक php5 नकली पुस्तकालय है।

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

इसे स्वचालित करने के लिए आप कुछ निरंतर एकीकरण ढांचे का उपयोग कर सकते हैं ... या तो हडसन, आर्बिट या phpUnderControl। हडसन और कुछ अच्छे परीक्षण प्लगइन के साथ PHP स्थापित करने के लिए एक बहुत अच्छा tutorial है। इसमें कोड-कवरेज चेक आदि जैसे कुछ उपयोगी प्लगइन भी शामिल हैं ... जिन्हें पर्यावरण के अंदर एकीकृत किया जा सकता है।

+0

क्या अंतर्निहित PHPUnit सुविधाओं पर yaymock का उपयोग करने का कोई फायदा है? – JoshB

+0

नकली पुस्तकालय विशेष रूप से ऑब्जेक्ट विधि आमंत्रण की श्रृंखला की जांच के उद्देश्य से डिजाइन किए गए हैं। यूनिट परीक्षण नहीं हैं। प्रोजेक्ट पेज में एक विकिपीज है जहां आप कुछ उदाहरण देखते हैं जो इन परीक्षणों का प्रदर्शन करते हैं ([UseMockObjects] (http://code.google.com/p/yaymock/wiki/UsingMockObjects) आप सामान्य यूनिट परीक्षणों पर लाभ देखेंगे। लेकिन स्पष्ट नकली परीक्षण होने के लिए यूनिट परीक्षणों के लिए एक प्रतिपूर्ति नहीं है। – fyr

+0

इसके लिए धन्यवाद। – JoshB

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