Tests unitaires PHP WordPress?


8

Étant donné la façon dont WordPress est écrit et comment il interagit avec une base de données et compte tenu de la façon dont il n'est pas très orienté OOP, existe-t-il un moyen de tester un thème unitaire? Existe-t-il un moyen de tester un cadre un framework (pas un framework de thème) qui interagit avec WordPress, c'est-à-dire, par exemple, pouvez-vous écrire un test unitaire pour traiter la boucle, traiter les widgets?

Si oui, quelqu'un a-t-il des exemples? Je sais comment écrire des tests unitaires, mais je n'ai jamais essayé d'en écrire un pour un thème.

Pensées?

Réponses:


5

Rien ne vous empêche d'écrire vos propres tests unitaires pour les thèmes / plugins en utilisant PHPUnit ou une autre plate-forme de test.

Quant à WordPress, il a un test unitaire officiel ici:

Il existe plusieurs scripts de construction qui peuvent automatiser les tests unitaires trouvés ici, y compris WP-CLI qui ont intégré des tests unitaires, bien que vous deviez évidemment écrire votre propre code.

J'ai également trouvé ce plugin aujourd'hui via twitter rant de scibu :)
http://wordpress.org/extend/plugins/razor/
Il y en a quelques autres dans le dépôt:
http://wordpress.org/extend/plugins/tags/phpunit

Consultez également ceci : Tutoriels pour les tests unitaires dans WordPress et pour unit-test.svn.wordpress.org?


3

J'ai écrit la bibliothèque de tests PHPunit de Travis-CI pour Jigoshop et Easy Digital Downloads, tous deux des plugins Ecommerce WP développés sur Github. La bibliothèque employée pourrait être facilement convertie pour travailler sur des thèmes. La bonne chose à propos de la suite optimisée Travis-CI est que nous pouvons l'utiliser pour tester rapidement plusieurs versions de PHP et WP. Si votre thème est un thème premium, et donc le mettre sur un dépôt Github gratuit n'est pas une option, la suite fonctionne sur les dépôts Private Github avec Travis-CI.

Alternativement, vous pouvez utiliser celui trouvé dans Jigoshop et utiliser PHPUnit alimenté en ligne de commande.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.