Unit PHP menguji WordPress?


8

Mengingat bagaimana WordPress ditulis dan bagaimana berinteraksi dengan database dan mengingat betapa tidak terlalu berorientasi pada OOP, apakah ada cara untuk menguji tema? apakah ada cara unit menguji kerangka kerja (bukan kerangka kerja tema) yang berinteraksi dengan WordPress, yaitu, misalnya, dapatkah Anda menulis unit test untuk berurusan dengan loop, berurusan dengan widget?

Jika ada yang punya contoh? Saya tahu cara menulis unit test, tetapi saya belum pernah mencoba menulis satu untuk tema.

Pikiran?

Jawaban:


5

Tidak ada yang menghentikan Anda dari menulis pengujian unit Anda sendiri untuk tema / plugin menggunakan PHPUnit atau platform pengujian lainnya.

Adapun WordPress, memiliki Tes Unit resmi di sini:

Ada beberapa skrip build yang dapat mengotomatisasi pengujian unit yang ditemukan di sini, termasuk WP-CLI yang telah dibangun dalam pengujian unit, meskipun Anda harus jelas menulis kode Anda sendiri.

Saya juga menemukan plugin ini hari ini melalui twitter scibu's twitter :)
http://wordpress.org/extend/plugins/razor/
Ada beberapa lagi di repo:
http://wordpress.org/extend/plugins/tags/phpunit

Lihat juga ini : Tutorial untuk Pengujian Unit di WordPress dan untuk unit-test.svn.wordpress.org?


3

Saya menulis perpustakaan pengujian PHPunit yang didukung Travis-CI untuk Jigoshop dan Easy Digital Downloads yang keduanya merupakan plugin WP E-niaga yang dikembangkan di Github. Perpustakaan yang digunakan dapat dengan mudah dikonversi menjadi berfungsi untuk tema. Hal yang menyenangkan tentang Travis-CI adalah kita dapat menggunakannya untuk menguji beberapa versi PHP dan WP dengan cepat. Jika tema Anda adalah tema premium, dan karenanya menaruhnya di repo Github gratis bukanlah suatu pilihan, suite tersebut berfungsi pada repo Private Github dengan Travis-CI.

Atau, Anda dapat menggunakan yang ditemukan di Jigoshop dan menggunakan PHPUnit bertenaga baris perintah.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.