प्लगइन विकास के लिए यूनिट परीक्षण


17

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

मेरे प्लगइन का परीक्षण करने के लिए कुछ प्रभावी रणनीतियाँ क्या हैं? मुझे प्लगइन में उपयोग किए जाने वाले वर्डप्रेस के कार्यों का उपयोग करने के लिए एक तरीका चाहिए, लेकिन मुझे एक रनिंग वर्डप्रेस साइट (सिर्फ डीबी एएफएआईके पर डेटा का परीक्षण) की आवश्यकता नहीं है, है ना?

मेरे पास एक कठिन समय है जो यह पता लगाता है कि साइट के संदर्भ में सिर्फ यूनिट कैसे प्लगइन का परीक्षण करता है और प्लगइन का नहीं। मैं इसके लिए सेलेनियम का उपयोग कर सकता था, लेकिन अभी मैं सिर्फ प्लगइन कक्षाओं की कार्यक्षमता के परीक्षण के लिए यूनिट पर ध्यान केंद्रित करना चाहता हूं, ताकि मैं उन्हें प्रत्येक अपडेट के साथ तोड़ न दूं।

जवाबों:


14

एक पूर्व-सॉफ़्टवेयर इंजीनियर के रूप में बड़े व्यापारिक प्रकार के निर्माण जो एक इंटरैक्टिव एजेंसी में उतरे, मुझे वर्डप्रेस के लिए विकसित होने पर आपको परीक्षण पर कुछ विचार देने दें:

  1. आपकी यूनिट टेस्टिंग को सबसे छोटी मात्रा में व्यवहार का परीक्षण करना चाहिए जो एक वर्ग कर सकता है। प्रत्येक वर्ग को Wordpress के स्वतंत्र रूप से परीक्षण करने में सक्षम होना चाहिए। यदि आपके पास वर्डप्रेस निर्भरता है, तो इसके चारों ओर काम करने के लिए अपने परीक्षण में नकली वस्तुओं और / या विधियों को बनाने पर विचार करें। अंततः, यह बदल जाएगा कि आप अपने कोड को थोड़ा कैसे लिखते हैं - लेकिन यह कहीं अधिक परीक्षण योग्य होगा। हमेशा की तरह फ्री लंच।

  2. जब आप कार्यात्मक परीक्षण के स्तर तक पहुँच जाते हैं, तो यह वह जगह है जहाँ आप वर्डप्रेस निर्भरताओं के साथ कोड का परीक्षण कर सकते हैं। यह वह जगह है जहां आप वास्तव में परीक्षण करेंगे कि आपका प्लगइन वास्तव में एक सेवा करता है जिसे यह माना जाता है।

  3. आपके प्लगइन क्या करता है पर निर्भर करता है - सेलेनियम-आधारित परीक्षणों का उपयोग करने पर विचार करें जो आईडी का उपयोग करके डोम में डेटा की उपस्थिति के लिए परीक्षण करते हैं। इसका यथोचित रूप से मजबूत होना और इसके संस्करण को संस्करण में तोड़ने की संभावना बहुत कम है। फिर से, यहाँ ट्रिक आपके सॉफ्टवेयर विकास जीवनचक्र के भाग के रूप में परीक्षण के बारे में सोचना है। कोड में बड़े बदलाव आपके परीक्षणों में बड़े बदलावों को कम कर देंगे। व्यापार करने की लागत का सभी हिस्सा।

यदि आपको इसे पूरा करने के लिए किसी भी उपकरण के साथ किसी भी सहायता की आवश्यकता है - यदि आप एक नया प्रश्न खोलते हैं, तो मुझे उत्तर देने में खुशी होगी। मैं अपने काम में PHPUnit और इसके सेलेनियम विस्तार दोनों का उपयोग करता हूं।


1
हे एथान, ऐसे पेशेवर जवाब के लिए धन्यवाद। इस समुदाय से कम उम्मीद नहीं की जा सकती थी :) मैं अपनी कक्षाओं के लिए यूनिट टेस्ट लिखने और वर्डप्रेस के कार्यों के आसपास काम करने के लिए कुछ नकली ऑब्जेक्ट बनाने की कोशिश करूंगा। चरण 2 मेरे लिए वास्तविक कठिन हिस्सा है, क्योंकि मुझे कुछ प्रकार के स्वचालित परीक्षण के लिए वर्डप्रेस इंस्टा की आवश्यकता होगी, जहां मैं बाद में सेलेनियम का उपयोग करना शुरू कर सकता हूं। मैं PHPUnit से शुरू करता हूँ और देखता हूँ कि कैसे जाता है। धन्यवाद!
फर्नांडो ब्रेनानो

एकदम सही जवाब!
rsman

8

मैंने वास्तव में इसे स्वयं नहीं किया है, लेकिन वर्डप्रेस यूनिट परीक्षण के लिए एक परीक्षण वातावरण है। यह मुख्य परीक्षण के लिए है, लेकिन इसे परीक्षण प्लगइन्स के लिए अनुकूलित किया जा सकता है।

अधिक जानकारी यहाँ:

http://codex.wordpress.org/Automated_Testing

http://svn.automattic.com/wordpress-tests/


-1

मैंने हाल ही में एक ट्यूटोरियल बनाया है जो मेरे googling से जानकारी लेता है, यह दिखाने के लिए कि:

  1. वर्डप्रेस कोर मेक यूनिट टेस्ट का उपयोग करें
  2. छिपाएँ php पदावनत / सत्र भेजा चेतावनी
  3. परीक्षण में अपने प्लगइन विकल्प सेट करने का तरीका दिखाएं
  4. कई प्लगइन्स का परीक्षण करने के लिए एक ही wp कोर मेक यूनिट टेस्ट का उपयोग करें

ट्यूटोरियल यहाँ है , मुझे आशा है कि यह मदद करता है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.