PHP कोड टेस्टिंग: शुरुआत से पहला टेस्ट तक पूरी गाइड

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

PHP टेस्टिंग डरावनी नहीं, बल्कि फायदेमंद क्यों है?

\n\n

सोचिए: आपने PHP में एक स्क्रिप्ट लिखी, वह चल रही है। आप खुश हैं। एक हफ्ते बाद एक नया फीचर जोड़ना है। आप कुछ लाइनें बदलते हैं — और अचानक सब कुछ टूट जाता है। परिचित लग रहा है? अगर हाँ, तो आपको तुरंत PHP टेस्टिंग से दोस्ती करनी चाहिए। यह कोई जादू नहीं, बल्कि टूल्स का एक सेट है जो आपके प्रोजेक्ट को अफरा-तफरी से बचाएगा।

\n\n

कई नए डेवलपर्स टेस्ट से डरते हैं। लगता है कि यह मुश्किल, उबाऊ और समय बर्बाद करने वाला है। असल में, PHP यूनिट टेस्टिंग एक बीमा की तरह है: आप अब थोड़ा भुगतान करते हैं ताकि बाद में सब कुछ न खोएं। इस लेख में हम समझेंगे कि PHP टेस्टिंग कहाँ से शुरू करें, कौन से टूल्स इस्तेमाल करें और अपना पहला टेस्ट कैसे लिखें — बिना पागल हुए।

\n\n

टेस्टिंग क्या है और इसकी ज़रूरत क्यों है?

\n\n

कोड टेस्टिंग यह जाँचने की प्रक्रिया है कि आपका प्रोग्राम वही कर रहा है जो आप उससे उम्मीद करते हैं। हर बार मैन्युअली ब्राउज़र खोलने और लिंक पर क्लिक करने के बजाय, आप खास स्क्रिप्ट्स (टेस्ट) लिखते हैं जो यह काम आपके लिए करती हैं।

\n\n

मुख्य फायदे:

\n
    \n
  • कोड में भरोसा। आपको पक्का पता होता है कि बदलाव करने के बाद कुछ नहीं टूटेगा।
  • \n
  • समय की बचत। ऑटोमेटेड जाँच मैन्युअल से तेज़ होती है।
  • \n
  • डॉक्यूमेंटेशन। टेस्ट बताते हैं कि आपका कोड कैसे काम करना चाहिए।
  • \n
  • रीफैक्टरिंग आसान। अगर टेस्ट पास हो रहे हैं, तो आप कोड को बेझिझक बदल सकते हैं।
  • \n
\n\n

PHP टेस्टिंग के लिए सबसे लोकप्रिय टूल PHPUnit है। यह PHP की दुनिया में डी-फैक्टो स्टैंडर्ड है। हम इसी के साथ काम करेंगे।

\n\n

PHPUnit इंस्टॉल करना: दो आसान तरीके

\n\n

टेस्ट लिखने से पहले PHPUnit इंस्टॉल करना होगा। दो मुख्य तरीके हैं।

\n\n

तरीका 1: Composer (सुझाव)

\n\n

अगर आप पहले से Composer इस्तेमाल कर रहे हैं (और आपको करना चाहिए, यह PHP के लिए डिपेंडेंसी मैनेजर है), तो बस टर्मिनल में अपने प्रोजेक्ट की रूट डायरेक्टरी में जाएँ और यह चलाएँ:

\n\n
composer require --dev phpunit/phpunit ^10
\n\n

--dev फ्लैग का मतलब है कि PHPUnit सिर्फ डेवलपमेंट के लिए इंस्टॉल होगा, लाइव सर्वर पर नहीं जाएगा।

\n\n

तरीका 2: PHAR आर्काइव

\n\n

अगर Composer आपका तरीका नहीं है, तो PHPUnit को एक फाइल के रूप में डाउनलोड कर सकते हैं:

\n\n
wget https://phar.phpunit.de/phpunit.phar\nchmod +x phpunit.phar\nsudo mv phpunit.phar /usr/local/bin/phpunit
\n\n

इसके बाद phpunit --version कमांड को वर्जन दिखाना चाहिए।

\n\n

पहला टेस्ट: लिखें और चलाएँ

\n\n

अब सबसे मज़ेदार हिस्सा। एक सरल क्लास बनाते हैं और उसके लिए टेस्ट लिखते हैं। मान लीजिए, हमारे पास दो नंबर जोड़ने वाला फंक्शन है।

\n\n

स्टेप 1. टेस्ट करने के लिए कोड

\n\n

src/Calculator.php फाइल बनाएँ:

\n\n
<?php\n\nnamespace App;\n\nclass Calculator\n{\n    public function add(float $a, float $b): float\n    {\n        return $a + $b;\n    }\n}
\n\n

स्टेप 2. इस क्लास के लिए टेस्ट

\n\n

PHPUnit के नियम के अनुसार: टेस्ट tests/ डायरेक्टरी में रखे जाते हैं, और टेस्ट फाइल का नाम क्लास के नाम के साथ Test सफिक्स जोड़कर रखा जाता है। tests/CalculatorTest.php बनाएँ:

\n\n
<?php\n\nnamespace Tests;\n\nuse App\\Calculator;\nuse PHPUnit\\Framework\\TestCase;\n\nclass CalculatorTest extends TestCase\n{\n    public function testAdd()\n    {\n        $calculator = new Calculator();\n        $result = $calculator->add(2, 3);\n        $this->assertEquals(5, $result);\n    }\n}
\n\n

यहाँ क्या हो रहा है?

\n
    \n
  • हम TestCase से इनहेरिट कर रहे हैं — यह PHPUnit का बेस क्लास है।
  • \n
  • testAdd मेथड हमारा टेस्ट है। PHPUnit ऑटोमैटिकली उन सभी मेथड्स को चलाता है जो test से शुरू होते हैं।
  • \n
  • $this->assertEquals() एक assert (असर्शन) है। यह जाँचता है कि क्या $result 5 के बराबर है।
  • \n

ब्लॉग

पुस्तक अनुशंसाएँ