Pengujian unit yang tepat di WordPress

8

Ada utas berbeda yang tersedia untuk Unit Testing di WordPress. Sejauh menyangkut, harus ada pengujian unit yang tepat untuk setiap bagian kustomisasi yang dilakukan di WordPress.

Saya telah memeriksa beberapa plugin dan artikel tentang hal yang sama. Berikut beberapa di antaranya.

  1. http://codex.wordpress.org/Theme_Unit_Test
  2. http://wptest.io/
  3. https://make.wordpress.org/core/handbook/testing/automated-testing/phpunit/

Sekarang, dengan unit PHP kita dapat menulis kasus uji sesuai kebutuhan kita. Test case dapat ditulis untuk fungsionalitas inti dan kustomisasi.

Bagaimana dengan Pengujian Unit Otomatis untuk Tema dengan plugin berat dan kustomisasi yaitu Mega Menu, komposer Visual, Kustomisasi di Woo Commerce.

Bagaimana ini bisa dilakukan? Adakah Standar untuk Pengujian Unit untuk situs yang dikembangkan dengan tema dan plugin premium dengan tingkat penyesuaian tinggi?

Solusi Perangkat Lunak Trimantra
sumber
tidak yakin apa pertanyaannya di sini. unit testing adalah unit testing, mengapa pengujian suatu kode harus berbeda jika digunakan sebagai plugin?
Mark Kaplun
1
Kami mencoba mencari jalan keluar standar untuk Tes Unit otomatis yang akan bekerja dengan segala jenis pengembangan di Wordpress. Apa pun yang terjadi?
Solusi Perangkat Lunak Trimantra
standar untuk apa? phpunit adalah alat standar, tetapi Anda tahu itu. Setiap tes unit jelas berbeda berdasarkan persyaratan unit tertentu
Mark Kaplun
Standar untuk menulis kode dan situs web yang efisien dengan kualitas.
Solusi Perangkat Lunak Trimantra
Pengujian unit digunakan untuk menemukan regresi ketika kode diubah, Mereka sebenarnya tidak memiliki banyak keuntungan dalam pengembangan situs "one off" yang tidak akan memiliki banyak perubahan atau ketika akan ada perubahan itu akan menjadi sangat utama semua pengujian akan pecah. Unit test saja tidak membuat kode Anda lebih baik dengan cara apa pun, untuk membuatnya lebih baik Anda perlu menggunakan praktik desain perangkat lunak yang lebih baik.
Mark Kaplun

Jawaban:

8

Saya pikir apa yang Anda cari sebenarnya akan secara teknis disebut pengujian fungsional , pengujian integrasi , atau pengujian penerimaan . Sepertinya Anda ingin menguji perilaku ujung depan situs web Anda (atau perilaku ujung depan plugin atau tema), bukan setiap unit kode itu sendiri. Anda mungkin menggunakan alat seperti PHPUnit untuk menguji kode PHP Anda, dan alat seperti QUnit untuk menguji kode JS Anda, tetapi Anda akan memerlukan alat yang berbeda untuk menguji perilaku aktual situs web (atau fitur plugin / tema) sebagai keseluruhan yang terintegrasi .

Sayangnya, pengujian penerimaan masih agak muda di ruang WordPress. Ada beberapa plugin atau tema yang melakukannya, tetapi tidak ada metode "inti" (tetapi lihat tiket trac # 34693 ). Belum ada alat konsensus "praktik terbaik" yang telah muncul. Jadi, sejauh alat khusus WordPress, ini adalah area yang masih dieksplorasi. (Saya sendiri masih baru mulai mengeksplorasi pengujian penerimaan plugin WordPress.)

Namun, ada banyak alat yang berbeda di luar sana untuk pengujian penerimaan, mereka belum dibangun khusus dengan WordPress dalam pikiran. Dan itu tidak masalah. Karena ketika Anda menguji perilaku front-end dari sebuah situs, itu benar-benar tidak masalah apa yang menyalakan back-end. Jadi alat yang dapat menjalankan tes pada situs yang dibuat dari awal mungkin akan bekerja dengan sangat baik untuk situs WordPress juga, atau situs lainnya.

Karena WordPress ditulis dalam PHP, dan cenderung menggunakan PHPUnit untuk pengujian, Codeception adalah pilihan alami untuk ini. Ini adalah kerangka kerja yang memungkinkan Anda untuk membuat tes unit (dengan PHPUnit), tes fungsional, dan tes penerimaan, yang dapat Anda jalankan dengan satu perintah. Saya pikir mungkin ini yang Anda cari. Jika demikian, Anda mungkin ingin memeriksa WP Browser juga, yang merupakan seperangkat ekstensi khusus WordPress untuk Codeception.

Jika ada alat masuk untuk menguji plugin WordPress, saya akan mengatakan bahwa itu mungkin Codeception. Tetapi setahu saya, ini masih hal muda di antara sebagian besar pengembang WordPress, jadi kita harus menunggu dan melihat apa yang terjadi di masa depan. Namun, jangan ragu untuk melompat dan mulai menggunakannya — mungkin itu akan menjadi tren!


Perbarui 2017-12-12

Saya telah menggunakan WP Browser untuk menguji plugin WordPoints , dan saya senang dengannya. Saya juga menyiapkan repo yang menunjukkan cara menjalankan tes penerimaan Browser WP di Travis CI . Masih belum ada standar de facto di dalam ekosistem WordPress, tetapi Codeception + WP Browser tetap menjadi salah satu opsi yang paling menonjol.

JD
sumber