web-dev-qa-db-fra.com

Tests unitaires appropriés dans WordPress

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

J'ai vérifié quelques plugins et articles à propos de la même chose. Voici les rares.

  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 de la personnalisation, à savoir Mega Menu, Visual composer, Personnalisation dans Woo Commerce.

Comment cela peut être fait? Des normes pour les tests unitaires pour les sites développés avec des thèmes et des plugins premium avec un niveau de personnalisation élevé?

Je pense que ce que vous recherchez s'appellerait techniquement test fonctionnel} _, test d'intégration ou test d'acceptation. Il semble que vous souhaitiez tester le comportement du front-end de votre site Web (ou le comportement du front-end d'un plugin ou d'un thème) et non pas chaque unité du code lui-même. Vous pouvez utiliser un outil tel que PHPUnit pour tester votre code PHP et un outil tel que QUnit pour tester votre code JS, mais vous aurez besoin d'un autre outil pour tester le comportement réel du site Web (ou du plugin/thème). caractéristique) comme un tout intégré.

Malheureusement, les tests d'acceptation sont encore relativement 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 "fondamentale" (mais voir trac ticket # 34693 ). Il n’existe pas non plus nécessairement d’outil de "meilleure pratique" consensuel. Donc, en ce qui concerne les outils spécifiques à WordPress, il s’agit d’un domaine en cours d’exploration. (Je commence moi-même tout juste à explorer l'acceptation en testant 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 bon. Parce que lorsque vous testez le comportement frontal d'un site, peu importe ce qui alimente le back-end. Ainsi, un outil pouvant exécuter des tests sur un site construit à la main fonctionnera probablement très bien également pour un site WordPress ou pour tout autre site.

WordPress étant écrit en PHP et ayant tendance à utiliser PHPUnit à des fins de test, Codeception est un choix naturel pour cela. C'est 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 tel est le cas, vous voudrez probablement consulter WP Browser également, qui est un ensemble d'extensions spécifiques à WordPress pour Codeception.

_ {If il existe un outil émergent pour tester les plugins WordPress d'acceptation, je dirais qu'il pourrait s'agir de Codeception. Mais, à ma connaissance, la plupart des développeurs WordPress n’en sont encore qu’à leurs débuts. Nous devrons donc attendre et voir ce qui se passera dans le futur. N'hésitez pas à vous lancer et à commencer à l'utiliser quand même - peut-être que cela créera une tendance!


Mise à jour 2017-12-12

J'ai utilisé en utilisant WP Browser pour tester le plugin WordPoints , et j'en ai été ravi. J'ai également mis en place un repo montrant comment exécuter WP tests d'acceptation du navigateur sur Travis CI . Il n’existe pas encore de norme de facto dans l’écosystème WordPress, mais Codeception + WP Navigateur reste l’une des options les plus importantes.

8
J.D.