जवाबों:
जहाँ तक मुझे पता है, वर्तमान में इसके लिए कोई दस्तावेज नहीं है। आधिकारिक स्रोत यहाँ है ।
मैंने यूनिट टेस्टिंग वर्डप्रेस प्लगइन्स पर एक ट्यूटोरियल भी लिखा है, जो इस सुविधा के बारे में कुछ विवरण देता है ।
उपयोग करने के फायदों में से
WP_UnitTestCase
एक इसके कारखाने हैं। इन्हेंfactory
सदस्य चर के माध्यम से एक्सेस किया जा सकता है ।factory
गुण है कि में परिभाषित वर्गों में से एक में से प्रत्येक के एक उदाहरण हैं के साथ एक वस्तु है भी शामिल है / factory.php । वे क्या करते हैं, आप पूछते हैं? वे अपने परीक्षण में जहाँ कहीं भी आपको आवश्यकता होती है, उपयोगकर्ताओं, पदों, पदों आदि को बनाने के लिए बहुत सरल बनाते हैं। इसलिए, ऐसा करने के बजाय:$args = array( /* A bunch of user data you had to make up */ ); wp_insert_user( $args );
आप ऐसा कर सकते हैं:
$user_id = $this->factory->user->create();
लेकिन रुकिए, यह और भी बेहतर हो जाता है। यदि आपको कई उपयोगकर्ताओं (या पोस्ट या जो कुछ भी) की आवश्यकता है तो क्या होगा ? आप उन्हें इस तरह से थोक में बना सकते हैं:
$user_ids = $this->factory->user->create_many( 25 );
यह 25 उपयोगकर्ताओं को बनाएगा जिन्हें आप अपने परीक्षण में उपयोग कर सकते हैं।
factory
निम्नलिखित गुण है कि आप उपयोग कर सकते हैं:
$post
$attachment
$comment
$user
$term
$category
$tag
$blog
इन सभी का उपयोग उसी तरीके से किया जा सकता है जैसा कि
$user
कारखाने के साथ उपरोक्त उदाहरण में दिखाया गया है । उदाहरण के लिए, आप इस तरह से एक पोस्ट बना सकते हैं:
$this->factory->post->create();
आप ऑब्जेक्ट बनाने के लिए उपयोग करने के लिए विशेष तर्क भी निर्दिष्ट कर सकते हैं। उपरोक्त उदाहरण में हमने एक पोस्ट बनाया है, लेकिन इसे किसी विशेष उपयोगकर्ता को नहीं सौंपा गया है (
post_author
फ़ील्ड डिफ़ॉल्ट होगा0
)। कभी-कभी हम चाहते हैं कि पोस्ट को इसके बजाय किसी उपयोगकर्ता को सौंपा जाए। हम ऐसा करेंगे:$user_id = $this->factory->user->create(); $post_id = $this->factory->post->create( array( 'post_author' => $user_id ) );
इसके अलावा, यदि आपको आपके द्वारा बनाए जा रहे ऑब्जेक्ट की आईडी से अधिक की आवश्यकता है, तो आपको ऐसा करने की आवश्यकता नहीं है:
$post_id = $this->factory->post->create(); $post = get_post( $post_id );
इसके बजाय,
create_and_get()
विधि का उपयोग करें :// $post will be an instance of WP_Post $post = $this->factory->post->create_and_get();
इस उदाहरण में, हमने
post
कारखाने का इस्तेमाल किया , लेकिन सभी कारखानों के लिए भी यही सच है।
मुझे लगता है कि मैं इसका उल्लेख वर्डप्रेस डॉक्स टीम से करूंगा। शायद हम इस सामान को प्लगइन और थीम हैंडबुक में प्राप्त कर सकते हैं।
अपडेट (20 जून, 2015): आप अपने स्वयं के कस्टम कारखाने भी बना सकते हैं !
अद्यतन (27 सितंबर, 2016): वर्डप्रेस 4.4 में कारखानों तक पहुंचने के लिए एक स्थिर factory()
तरीका प्रदान करने के लिए परीक्षण अपडेट किए गए थे , हालांकि factory
संपत्ति अभी भी एक जादू पाने वाले के माध्यम से प्रदान की जाती है।
स्रोत कोड पर
https://github.com/rnagle/wordpress-unit-tests/blob/master/includes/factory.php
फिलहाल देखने में सबसे अच्छी जगह लगती है