Tests unitaires pour le développement de plugins

15

Je dois appliquer des tests unitaires à l'un de mes plugins. Je l'ai récemment réorganisé en classes, de sorte que les tests unitaires devraient être plus faciles à appliquer maintenant.

Quelles sont les stratégies efficaces pour tester mon plugin? J'ai besoin d'un moyen d'utiliser les fonctions de WordPress utilisées dans le plugin, mais je ne devrais pas avoir besoin d'un site WordPress en cours d'exécution (juste tester les données sur la base de données AFAIK), non?

J'ai du mal à trouver un moyen de tester à la fois le plug-in et non le plug-in dans le contexte du site. Je pourrais utiliser Selenium pour cela, mais pour le moment, je veux juste me concentrer sur les tests unitaires de la fonctionnalité des classes de plug-in, afin que je ne les casse pas à chaque mise à jour.

    
posée Fernando Briano 15.02.2011 - 20:40

3 réponses

14

En tant qu’ex-ingénieur en informatique qui construit de grandes entreprises et qui a atterri dans une agence interactive, permettez-moi de vous donner quelques réflexions sur les tests lors du développement pour Wordpress:

  1. Votre test d'unité doit tester la plus petite quantité de comportement qu'une classe puisse avoir. Chaque classe devrait pouvoir être testée indépendamment de Wordpress. Si vous avez une dépendance à Wordpress, envisagez de créer des objets fictifs et / ou des méthodes dans votre test pour contourner ce problème. En fin de compte, cela changera un peu la façon dont vous écrivez votre code - mais ce sera beaucoup plus testable. Comme d'habitude, pas de repas gratuit.

  2. Lorsque vous atteignez le niveau de test fonctionnel, vous pouvez tester votre code avec des dépendances Wordpress. C’est ici que vous testerez que votre plug-in exécute effectivement un service qu’il est censé utiliser.

  3. En fonction de votre plugin, envisagez d'utiliser des tests basés sur Selenium qui testent la présence de données dans le DOM à l'aide d'identifiants. Il est raisonnablement robuste et il est beaucoup moins susceptible de changer de version. Là encore, le truc consiste à penser que les tests font partie du cycle de vie de votre développement logiciel. Des modifications importantes dans le code se répercuteront en cascade sur vos tests. Tout cela fait partie du coût des affaires.

Si vous avez besoin d'aide pour utiliser l'un des outils permettant d'y parvenir, je me ferai un plaisir de vous répondre si vous posez une nouvelle question. J'utilise à la fois PHPUnit et son extension sélénium dans le cadre de mon travail.

    
réponse donnée Ethan Seifert 15.02.2011 - 22:45
8

Je ne l’ai pas fait moi-même, mais il existe un environnement de test pour les tests unitaires WordPress. Il est destiné aux tests de base, mais il pourrait être adapté pour tester les plugins.

Plus d'infos ici:

enlace

enlace

    
réponse donnée Otto 15.02.2011 - 21:18
-1

J'ai récemment créé un didacticiel qui reprend les informations de mon travail sur Google pour montrer comment:

  1. Utiliser le noyau de wordpress pour effectuer des tests unitaires
  2. Masquer les avertissements php obsolètes / envoyés par la session
  3. Expliquez comment définir les options de plug-in dans les tests
  4. Utilisez les mêmes tests unitaires wp core make pour tester plusieurs plugins

Le tutoriel est ici , j'espère que cela aide

    
réponse donnée Daithí 26.04.2013 - 17:26

Lire d'autres questions sur les étiquettes