Jawaban:
Sejauh yang saya tahu, tidak ada dokumentasi untuk saat ini. Sumber resmi ada di sini .
Saya juga telah menulis tutorial tentang pengujian unit plugin WordPress, yang memberikan beberapa detail tentang fitur ini .
Salah satu keuntungan menggunakan
WP_UnitTestCaseadalah pabriknya. Ini dapat diakses melaluifactoryvariabel anggota. Inifactoryadalah objek dengan properti yang masing-masing merupakan instance dari salah satu kelas yang didefinisikan dalam include / factory.php . Apa yang mereka lakukan, Anda bertanya? Mereka membuatnya sangat sederhana untuk membuat pengguna, posting, istilah, dll., Di mana pun Anda membutuhkannya dalam pengujian Anda. Jadi, alih-alih melakukan ini:$args = array( /* A bunch of user data you had to make up */ ); wp_insert_user( $args );Anda bisa melakukan ini:
$user_id = $this->factory->user->create();Tapi tunggu, ini jadi lebih baik. Bagaimana jika Anda membutuhkan banyak pengguna (atau posting, atau apa pun)? Anda bisa membuatnya secara massal seperti ini:
$user_ids = $this->factory->user->create_many( 25 );Itu akan membuat 25 pengguna yang dapat Anda gunakan dalam pengujian Anda.
The
factorymemiliki properti berikut yang dapat Anda gunakan:
$post$attachment$comment$user$term$category$tag$blogSemua itu dapat digunakan dengan cara yang sama seperti ditunjukkan dalam contoh di atas dengan
$userpabrik. Misalnya, Anda dapat membuat posting seperti ini:
$this->factory->post->create();Anda juga bisa menentukan argumen tertentu yang akan digunakan untuk membuat objek. Dalam contoh di atas kami membuat posting, tetapi tidak ditugaskan untuk pengguna tertentu (
post_authorbidang akan default ke0). Terkadang kami mungkin menginginkan posting yang ditugaskan kepada pengguna sebagai gantinya. Kami akan melakukannya seperti ini:$user_id = $this->factory->user->create(); $post_id = $this->factory->post->create( array( 'post_author' => $user_id ) );Selain itu, jika Anda membutuhkan lebih dari sekadar ID objek yang Anda buat, Anda tidak perlu melakukan ini:
$post_id = $this->factory->post->create(); $post = get_post( $post_id );Sebagai gantinya, gunakan
create_and_get()metode ini:// $post will be an instance of WP_Post $post = $this->factory->post->create_and_get();Dalam contoh ini, kami menggunakan
postpabrik, tetapi hal yang sama berlaku untuk semua pabrik.
Saya pikir saya akan menyebutkan ini kepada tim dokumen WordPress. Mungkin kita bisa memasukkan ini ke plugin dan buku pegangan tema.
Pembaruan (20 Juni 2015): Anda juga dapat membuat pabrik kustom sendiri !
Pembaruan (27 September 2016): Di WordPress 4.4 tes diperbarui untuk memberikan factory()metode statis untuk mengakses pabrik, meskipun factoryproperti masih disediakan melalui pembuat sihir.
Kode sumber di
https://github.com/rnagle/wordpress-unit-tests/blob/master/includes/factory.php
tampaknya menjadi tempat terbaik untuk melihat saat ini