উত্তর:
আমি যতদূর জানি, বর্তমানে এটির জন্য কোনও দলিল নেই। সরকারী উৎস এখানে ।
আমি ইউনিট পরীক্ষার ওয়ার্ডপ্রেস প্লাগইনগুলির উপর একটি টিউটোরিয়ালও লিখেছি, যা এই বৈশিষ্ট্যটি সম্পর্কে কিছু বিশদ দেয় ।
ব্যবহারের অন্যতম সুবিধা
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): আপনি নিজের কাস্টম কারখানাও তৈরি করতে পারেন !
আপডেট (২ September সেপ্টেম্বর, ২০১)): ওয়ার্ডপ্রেস ৪.৪-এ পরীক্ষাগুলিfactory()
কারখানায় অ্যাক্সেসের জন্য একটি স্ট্যাটিক পদ্ধতি সরবরাহ করার জন্য আপডেট করা হয়েছিল , যদিও factory
সম্পত্তিটি এখনও যাদুবিদ্যার মাধ্যমে সরবরাহ করা হয়।
উত্স কোড এ
https://github.com/rnagle/wordpress-unit-tests/blob/master/includes/factory.php
এই মুহূর্তটি দেখার জন্য সেরা জায়গা বলে মনে হচ্ছে