Tests unitaires appropriés dans WordPress


8

Il existe différents threads disponibles pour les tests unitaires dans WordPress. En ce qui concerne, il devrait y avoir un test unitaire approprié pour chaque élément de personnalisation effectué dans WordPress.

J'ai vérifié quelques plugins et articles sur le même sujet. En voici quelques-uns.

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

Maintenant, avec l'unité PHP, nous pouvons écrire des cas de test selon nos besoins. Des cas de test peuvent être écrits pour les fonctionnalités de base et la personnalisation.

Qu'en est-il des tests unitaires automatisés pour le thème avec des plugins lourds et la personnalisation, c'est-à-dire Mega Menu, compositeur visuel, personnalisation dans Woo Commerce.

Comment cela peut-il être fait? Existe-t-il des normes de test unitaire pour le site développées avec un thème et des plugins premium avec un haut niveau de personnalisation?


Je ne sais pas quelle est la question ici. les tests unitaires sont des tests unitaires, pourquoi tester un code devrait en quelque sorte être différent s'il est utilisé comme plugin?
Mark Kaplun

1
Nous essayons de trouver une sortie standard pour le test unitaire automatisé qui fonctionnera avec tout type de développement dans Wordpress. Peu importe ce que?
Solution logicielle Trimantra

standard pour quoi? phpunit est l'outil standard, mais vous le savez. Chaque test unitaire est évidemment différent en fonction des exigences de l'unité spécifique
Mark Kaplun

Standard pour écrire du code et un site Web efficaces de qualité.
Solution logicielle Trimantra

Les tests unitaires sont utilisés pour découvrir les régressions lorsque le code est modifié, ils n'ont en fait pas beaucoup d'avantages dans un développement de site "unique" qui n'aura pas beaucoup de changements ou quand il y aura un changement ce sera si important tout le test va casser. Le test unitaire seul n'améliore en rien votre code, pour le rendre meilleur, vous devez utiliser de meilleures pratiques de conception de logiciels.
Mark Kaplun

Réponses:


8

Je pense que ce que vous recherchez serait en fait techniquement être appelé tests fonctionnels , tests d'intégration , ou les tests d'acceptation . Il semble que vous souhaitiez tester le comportement du frontal de votre site Web (ou le comportement frontal d'un plugin ou d'un thème), et non chaque unité du code lui-même. Vous pouvez utiliser un outil comme PHPUnit pour tester votre code PHP, et un outil comme QUnit pour tester votre code JS, mais vous aurez besoin d'un outil différent pour tester le comportement réel du site Web (ou fonctionnalité de plugin / thème) dans son ensemble intégré .

Malheureusement, les tests d'acceptation sont encore assez jeunes dans l'espace WordPress. Il y a quelques plugins ou thèmes qui le font, mais il n'y a pas de méthode "core" (mais voir ticket trac # 34693 ). Il n'y a pas nécessairement non plus d'outil consensuel de "meilleures pratiques". Donc, en ce qui concerne les outils spécifiques à WordPress, c'est un domaine qui est toujours en cours d'exploration. (Je commence moi-même à explorer les tests d'acceptation d'un plugin WordPress.)

Cependant, il existe de nombreux outils différents pour les tests d'acceptation, ils n'ont tout simplement pas été conçus spécifiquement pour WordPress. Et c'est OK. Parce que lorsque vous testez le comportement frontal d'un site, peu importe ce qui alimente le back-end. Donc, un outil qui peut exécuter des tests sur un site construit à partir de zéro fonctionnera probablement très bien aussi pour un site WordPress ou tout autre site.

Parce que WordPress est écrit en PHP et a tendance à utiliser PHPUnit pour les tests, Codeception est un choix naturel pour cela. Il s'agit d'un framework qui vous permet de créer des tests unitaires (avec PHPUnit), des tests fonctionnels et des tests d'acceptation, que vous pouvez exécuter avec une seule commande. Je pense que c'est peut-être le genre de chose que vous recherchez. Si c'est le cas, vous voudrez probablement également consulter WP Browser , qui est un ensemble d'extensions spécifiques à WordPress pour Codeception.

S'il existe un outil de référence pour l'acceptation des tests des plugins WordPress, je dirais que ce pourrait être Codeception. Mais à ma connaissance, c'est encore une chose jeune parmi la plupart des développeurs WordPress, nous devrons donc attendre et voir ce qui se passera à l'avenir. N'hésitez pas à vous lancer et à l'utiliser quand même - peut-être que cela établira une tendance!


Mise à jour 2017-12-12

J'utilise WP Browser pour tester le plugin WordPoints , et j'en suis satisfait. J'ai également mis en place un référentiel montrant comment exécuter les tests d'acceptation du navigateur WP sur Travis CI . Il n'y a toujours pas de norme de facto dans l'écosystème WordPress, mais Codeception + WP Browser reste l'une des options les plus importantes.

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.