मैं सोच रहा था कि क्या किसी को भी इस दोनों सामानों में अनुभव है कि दोनों के बीच महत्वपूर्ण अंतर पर कुछ प्रकाश डाला जा सकता है अगर कोई?
प्रत्येक की कोई विशिष्ट ताकत जो इसे किसी विशिष्ट मामले के लिए उपयुक्त बनाती है?
मैं सोच रहा था कि क्या किसी को भी इस दोनों सामानों में अनुभव है कि दोनों के बीच महत्वपूर्ण अंतर पर कुछ प्रकाश डाला जा सकता है अगर कोई?
प्रत्येक की कोई विशिष्ट ताकत जो इसे किसी विशिष्ट मामले के लिए उपयुक्त बनाती है?
जवाबों:
यह प्रश्न काफी दिनांकित है, लेकिन जैसा कि यह अभी भी ट्रैफ़िक प्राप्त कर रहा है और मैं इसका उत्तर देता हूं, हालांकि मैं अपनी बात यहां फिर से बताता हूं, इसलिए मैंने पहले ही इसे कुछ अन्य (नए) प्रश्नों पर कर दिया है।
मैं कर रहा हूँ वास्तव में बहुत विस्मित कर कि SimpleTest अभी भी PHPUnit के लिए एक विकल्प माना जाता है। शायद मैं गलत सूचना दे रहा हूँ लेकिन जहाँ तक मैंने देखा है:
web interface to phpunit tests
।मैंने अभी तक SimpleTest के पक्ष में कोई तर्क नहीं देखा है। PHPUnit नाशपाती के माध्यम से उपलब्ध होने के बाद इसे स्थापित करना आसान नहीं है:
pear channel-discover pear.phpunit.de
pear install phpunit/PHPUnit
और "पहला परीक्षण" बहुत समान दिखता है।
के रूप में PHPUnit 3.7
यह सिर्फ इसे का उपयोग करके इसे स्थापित करने के लिए और भी आसान हैPHAR Archive
wget http://pear.phpunit.de/get/phpunit.phar
chmod +x phpunit-3.7.6.phar
या फ़ार डाउनलोड करने और चलाने के लिए विंडोज़ के लिए :
php phpunit-.phar
या समर्थित संगीतकार का उपयोग करते समय जैसे तरीके स्थापित करें
"require-dev": {
"phpunit/phpunit": "3.7.*"
}
अपने संगीतकार को।
PHPUnit का परीक्षण करने के लिए आपके पास जो कुछ भी है, उसके लिए एक समाधान होगा और आप कहीं भी बहुत अधिक मदद पाएंगे (इसलिए, freenode पर SO (#phpunit irc चैनल, हर बहुत php डेवलपर;);
कृपया मुझे सही करें अगर मैंने कुछ गलत कहा है या कुछ भूल गया है :)
वीडियो: http://conference.phpnw.org.uk/phpnw11/schedule/sebastian-bergay/
स्लाइड्स: http://www.slideshare.net/sebastian_bergmann/the-php-testers-toolbox-os-days-2011
इसमें एटम जैसे सामान का उल्लेख है जो अपने आप को कहता है: "PHP के लिए एक सरल, आधुनिक और सहज इकाई परीक्षण रूपरेखा!"
मैंने मूल रूप से यह उत्तर जनवरी 2011 को लिखा है, जहां मेरा किसी भी PHP परीक्षण परियोजना से कोई संबंध नहीं था। तब से मैं PHPUnit में योगदानकर्ता बन गया।
include
SimpleTest .PHP फ़ाइलों (अन्य के रूप में समझाया गया है) की तुलना में बहुत अधिक कठिन है । इमारत का निर्माण कर पेशेवर प्रोग्रामर अपने स्वयं के परीक्षण वातावरण PHPUnit के लिए हरा करने के लिए कठिन लगता है, लेकिन अगर एक PHP आधारित खुला स्रोत अनुप्रयोग में एक परीक्षण प्रणाली को एकीकृत जहां "डेवलपर्स" अनुप्रयोग के लिए सबसे अच्छे रूप में हो सकता है (मैं क्या कहते हैं) "व्यावसायिक प्रोग्रामर" तो SimpleTest की सादगी एक असली अपील है, मेरे लिए वैसे भी। FWIW।
मैं अब PHPUnit को पसंद करता हूं, लेकिन जब मैंने शुरू किया तो मैंने SimpleTest का उपयोग किया क्योंकि मेरे पास हमेशा कमांड लाइन तक पहुंच नहीं थी। SimpleTest अच्छा है, लेकिन केवल एक चीज यह वास्तव में PHPUnit पर है, मेरी राय में, वेब धावक है।
PHPUnit मुझे पसंद है कारण यह है कि यह अन्य PHP डेवलपर टूल जैसे कि फ़िंग (जैसा कि SimpleTest), phpUnderControl , और Xinc के साथ एकीकृत करता है । 3.0 संस्करण के रूप में यह नकली है समर्थन, सक्रिय रूप से विकसित किया जा रहा है, और प्रलेखन उत्कृष्ट है।
वास्तव में अपने लिए इस प्रश्न का उत्तर देने का एकमात्र तरीका दोनों को एक समय के लिए आज़माना है, और देखें कि आपकी शैली कौन सी बेहतर है।
संपादित करें: फ़िंग अब सिंपलटेस्ट के साथ भी एकीकृत करता है।
हालाँकि, मैं आसानी से समझ सकता हूँ कि कैसे SimpleTest स्थापित किया जाए।
(जहाँ तक मुझे याद है PHPUnit के निर्देशों ने कहा कि "PEAR के माध्यम से इसे स्थापित करें और हम इसे किसी अन्य तरीके से कैसे करें" पर कोई निर्देश नहीं देंगे:)
के लिए SimpleTest , बस इसे डाउनलोड करने और अपने कोड से यह उल्लेख किया है।
इसलिए सिंपलटेस्ट मेरे लिए जीता।
Baphled का SimpleTest बनाम PHPUnit3 पर एक अच्छा लेख है ।
स्वीकृत उत्तर में उल्लेखित बिंदुओं में से आधे सरल नहीं हैं:
सरलतम है
निचे कि ओर:
मैंने पाया कि SimpleTest को स्थापित करने के लिए PHPUnit से भी आसान था। बस इसे निकालें और आप जाने के लिए अच्छे हैं। इसका एक लाभ यह है कि यदि आप एक से अधिक मशीन पर काम कर रहे हैं, क्योंकि आप पूरे परीक्षण ढांचे को अपने स्रोत कोड के समान स्टोर कर सकते हैं, और इस तरह जान सकते हैं कि आप उसी फ्रेमवर्क कोड का उपयोग कर रहे हैं। खासकर यदि आप इसे किसी भी तरह से संशोधित करते हैं।
तो, मैं कहूंगा कि SimpleTest की एक ताकत यह है कि यह बहुत हल्का वजन और पोर्टेबल है।
SimpleTest एक बहुत ही सरल HTML GUI के साथ भी जहाज करता है, जिसे यदि आप चाहते हैं तो विस्तारित करना काफी आसान है। जहाँ तक मुझे पता है, PHPUnit में HTML GUI शामिल नहीं है, लेकिन वहाँ GUI: s डाउनलोड करने के लिए उपलब्ध हैं, जैसे कि कूल ।
वैसे मैंने एक phpUnit वेब आधारित UI टेस्ट केस रनर बनाया है और इसे sourceforge पर उपलब्ध कराया है। अजाक्स का उपयोग करता है और साथ ही साथ अगर आप इसे एक शॉट देना चाहते हैं तो इसे सोर्सफेज में भी दें। प्रोजेक्ट का नाम phpunitwebui है और वेबसाइट http://phpunitwebui.sourceforge.net/ है
जैसा कि यह बताया गया है, यह ज्यादातर वरीयता पसंद है, क्योंकि दोनों ही आपके द्वारा लिखे गए परीक्षणों को चलाएंगे और परिणामों की रिपोर्ट करेंगे।
सरलतम वेब यूआई बहुत उपयोगी है, लेकिन यह कभी-कभी बोझिल भी हो सकता है। मेरे वर्तमान प्रोजेक्ट में, मुझे अपने एप्लिकेशन (एपीआई) को वेब इंटरफेस के साथ काम करने के लिए एक सिस्टम में अधिक काम करना होगा (एपाचे को सही तरीके से सेट करना, फाइलों को public_html रूट इत्यादि में कॉपी करना)। बस ग्रहण कार्यक्षेत्र से phpunit चलाने के लिए। इसलिए मैं PHPUnit का चयन करता हूं। इसके अलावा, PEAR का उपयोग एक बड़ा प्लस था क्योंकि आपको मैन्युअल रूप से अपडेट ट्रैक करने की आवश्यकता नहीं है। बस pear upgrade
एक बार एक समय में चलाएं और PHPUnit को अप-टू-डेट रखा जाएगा।
यह एक बहुत ही आरामदायक PHP डेवलपर के दृष्टिकोण से है:
PHPUnit को समझने में मुझे दो दिन लगे, ज्यादातर मैं ग्रहण के तहत डिबग करने की कोशिश कर रहा था कि आखिरकार मैंने हार मान ली।
ग्रहण के तहत डिबग सहित सिंपलस्ट को सेटअप करने में मुझे दो घंटे का समय लगा।
हो सकता है कि मुझे भविष्य में Simpletest की कमी मिल जाएगी लेकिन अभी तक मुझे अच्छी तरह से यह करना चाहिए: TestClasses, Mock ऑब्जेक्ट्स, टेस्ट-कोड डीबगिंग और स्थिति के त्वरित स्नैपशॉट के लिए वेब इंटरफ़ेस।
फिर से: यह एक बहुत ही आकस्मिक PHP उपयोगकर्ता के दृष्टिकोण से (यहां तक कि डेवलपर :-) भी नहीं)
मैंने कुछ समय के लिए सरल परीक्षण की जाँच नहीं की है, पिछली बार इसमें एक ग्रहण प्लगइन था, जो मेरे लिए एक प्रमुख कारक है, लेकिन यह लंबे समय तक अद्यतन नहीं किया गया है। सेबस्टियन बर्गमैन अभी भी PHPUnit पर बहुत सक्रिय रूप से काम कर रहा है, लेकिन इसमें अभी भी ग्रहण के लिए एक अच्छा प्लगइन नहीं है - लेकिन यह नए Zend Studio के लिए शामिल है।
यह प्रश्न पुराना है, लेकिन मैं अपने अनुभव को जोड़ना चाहता हूं: PHPUnit अब मानक लगता है, लेकिन यदि आप एक विरासत प्रणाली के साथ काम करते हैं जो बहुत सारे और वैश्विक चर का उपयोग करता है, तो आप गेट से अटक सकते हैं। ऐसा लगता है कि PHPUnit में वैश्विक संस्करणों के साथ परीक्षण करने का कोई अच्छा तरीका नहीं है, आपको लगता है कि आपके चर को $ GLOBALS के माध्यम से सेट करना होगा जो कि कोई अच्छा नहीं है अगर आपके पास हर जगह वैश्विक चर सेट करने वाली फाइलें हैं। ठीक है, कुछ कह सकते हैं कि समस्या विरासत प्रणाली में है लेकिन इसका मतलब यह नहीं है कि हम ऐसी प्रणाली पर परीक्षण नहीं कर सकते। SimpleTest के साथ ऐसी बात सरल है। मुझे लगता है कि अगर PHPUnit हमें किसी भी वर्ग / फ़ंक्शन स्कोप के भीतर नहीं बल्कि विश्व स्तर पर एक फ़ाइल को शामिल करने की अनुमति देता है, तो यह बहुत अधिक समस्या नहीं होगी।
एक और आशाजनक समाधान है http://www.enhance-php.com , अच्छा लग रहा है :)
<phpunit backupGlobals="false">
कॉन्फ़िगर XML में उपयोग किया है और परीक्षण में globals के साथ कोई समस्या नहीं थी ...
global $xxx
और इसके सभी संयोजनों की कोशिश की --no-globals-backup
और अचानक सभी को देखने से पहले उम्मीद के मुताबिक काम करना। : डी
जब एक बार में परीक्षण करने के लिए हजारों कार्य होते हैं, तो फ़पुनिट जाने का तरीका है, सरल परीक्षण कम हो रहा है क्योंकि यह वेब आधारित है।
मैं अभी भी छोटे पैमाने पर परीक्षण के लिए सरल वेब का उपयोग कर रहा हूं।
लेकिन दोनों अच्छे हैं