Unidad PHP que prueba WordPress?


8

Dada la forma en que se escribe WordPress y cómo interactúa con una base de datos y dado que no está muy orientada a OOP, ¿hay alguna manera de probar un tema de forma unitaria? ¿hay alguna forma de probar un marco de trabajo (no un marco de tema) que interactúa con WordPress, es decir, por ejemplo, ¿puedes escribir una prueba de unidad para lidiar con el bucle, lidiar con los widgets?

Si es así, ¿alguien tiene algún ejemplo? Sé cómo escribir pruebas unitarias, pero nunca he tratado de escribir una para un tema.

Pensamientos?

Respuestas:


5

No hay nada que le impida escribir su propia unidad de prueba para temas / complementos utilizando PHPUnit o alguna otra plataforma de prueba.

En cuanto a WordPress, tiene pruebas unitarias oficiales aquí:

Hay varios scripts de compilación que pueden automatizar las pruebas unitarias que se encuentran aquí, incluida WP-CLI que ha incorporado las pruebas unitarias, aunque obviamente debe escribir su propio código.

También encontré este complemento hoy a través de Twitter rant de scibu :)
http://wordpress.org/extend/plugins/razor/
Hay algunos más en el repositorio:
http://wordpress.org/extend/plugins/tags/phpunit

También revisa esto : ¿ Tutoriales para Unit-Testing en WordPress y unit-test.svn.wordpress.org?


3

Escribí la biblioteca de pruebas PHPunit impulsada por Travis-CI para Jigoshop y Easy Digital Downloads, que son complementos WP de comercio electrónico desarrollados en Github. La biblioteca empleada podría convertirse fácilmente para trabajar por temas. Lo bueno de la suite con tecnología Travis-CI es que podemos usarla para probar rápidamente múltiples versiones de PHP y WP. Si su tema es un tema premium y, por lo tanto, ponerlo en un repositorio gratuito de Github no es una opción, la suite funciona en repositorios privados de Github con Travis-CI.

Alternativamente, puede usar el que se encuentra en Jigoshop y usar PHPUnit con línea de comandos.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.