Module de Test wordpress avec phpunit

Il est bon de samp;rsquoassurer que la logique existante namp;rsquoest pas interrompue lorsque travaillez avec des plug ins et commencez à introduire de nouvelles fonctionnalités. Sans tests appropriés, une simple correction pourrait bien devenir un cauchemar de programmation de style italien. Ainsi, dans l’article d’aujourd’hui, je vais montrer comment utiliser les tests unitaires du plugin wordpress. Malgré les nombreux cadres de test, nous utiliserons PHP Unit car c’est le cadre officiel choisi par WordPress. Les tests unitaires WordPress avec phpunit sont généralement orientés plug in, mais parfois voudrez peut être les utiliser pour des thèmes. En général, cependant, les sujets ne devraient pas fournir une fonctionnalité similaire à celle damp;rsquoun plug in.
Nous examinerons brièvement la configuration et les fonctionnalités des tests unitaires dans WordPress. Enfin, nous testerons un plugin simple. Note: cet article est destiné aux développeurs WordPress avancés. Cependant, si êtes un utilisateur débutant ou intermédiaire, les concepts discutés ici peuvent aider à comprendre ce qui se passe dans les coulisses lors de la création d’applications WordPress. Avant de commencer à écrire devez avoir une connaissance pratique de WordPress, PHP et PHP Unit. namp;rsquoêtes pas sûr ou avez besoin damp;rsquoune mise à jour, Je recommande de lire ce qui suit: développement de débutants WordPress: comment commencer le développement de débutants WordPress: apprendre le développement de débutants PHP WordPress: créer un thème développement de débutants WordPress: widgets et menus développement de débutants WordPress: créer un plugin à partir du test d’unit é phpunit: sommes nous sur la même page? Le test unitaire est le plus important pour améliorer la qualité du logiciel. Lamp;rsquoobjectif est de réduire les bogues en utilisant une approche système. Gagnez du temps et de lamp;rsquoénergie en exécutant la suite de test pour différentes zones de votre application, et pouvez assurer que faites des changements.
Damp;rsquoun point de vue technique, il samp;rsquoagit damp;rsquoécrire du Code
I qualit á: Microsoft a publié le Sous système Windows (WSL) pour Linux, donc maintenant pouvez installer Ubuntu Bash sur Windows. Cela permettra damp;rsquoexécuter (presque) toutes les commandes Linux natives sur Windows et damp;rsquointeragir avec des fichiers sur votre système Windows. Les utilisateurs Mac et Linux ont toujours un shell intégré. Je namp;rsquoutiliserai que WSL pour prouver quamp;rsquoil fonctionne, et je namp;rsquoaurai plus besoin damp;rsquoinstaller une VM séparée pour obtenir le shell. Voici comment définir WSL.
Jamp;rsquoutilise netbeans avec Vagrant et VVV sur le Sous système Windows de Linux. Cela me donne un bon flux de travail pour développer et déboguer avec netbeans sur le système hôte, et pour exécuter des tests et des serveurs en utilisant lamp;rsquoenvironnement virtuel vv. Tout le contenu entre lamp;rsquohôte et le système invité est automatiquement synchronisé. Par conséquent, tous les tests que jamp;rsquoai écrits sur lamp;rsquohôte en utilisant netbeans ou namp;rsquoimporte quel éditeur sont également synchronisés avec VM. Je garde également les plug ins et les thèmes en dehors de la configuration WordPress et les charge dans l’instance VVV WordPress cible en utilisant la configuration customfile dans Vagrant.
Cela me permet d’utiliser GIT (Versioning) sans avoir à synchroniser des fichiers de base WordPress inutiles. Voici ma configuration: Les plug ins et les thèmes sont situés dans un dossier en dehors de WordPress (sur l’hôte) et sont téléchargés dans l’installation WordPress cible en VM en utilisant la configuration de fichier personnalisée suivante: charger le contenu raewrites 985573a774713ef6e4b0917f7b58496b Je vais utiliser un plug in simple, un plug in de démonstration phpunit et une instance WordPress
De plus, chargez le projet damp;rsquoessai. Dev dans netbeans et plug in en dehors de WordPress, j’ai créé un lien symbolique vers le dossier plug in comme suit: charger le contenu raewrites f255443cf8d3cfc1afc3d94adb78note: c’est ne
Ceci est fait par phpunit. XML, qui est le fichier manifeste principal, indique à PHP Unit où trouver le test et comment le configurer. Étape 3 maintenant, il suffit de configurer une copie damp;rsquoessai de la base de données pour notre plug in. Php unit lamp;rsquoutilisera dans notre environnement de test lors de lamp;rsquoexécution du test. utilisez une instance DB qui fonctionne, assurez quamp;rsquoelle est sauvegardée. Nous devons exécuter le script install WP tests. SH est sous
Assertionnotwperror ($actual, $$message) $$this amp;gt assertiixerror ($actual, $$message) $$this amp;gt asserrtitiixerror ($actual, $$message) this amp;gt asserrtitiixerror ($$actual, $$message) Evaluating the WP _ Query $this amp;gt assertequerquerqueryttrue ($$args) for a test u querquery $this amp;gtassertequerquerqueryrtrue ($args), for example $this amp;gtassertequerquerquerquerqueryrtrue (amp;lsquois u ngleamp;rsquo, amp;lsquois u Feedamp;rsquo amp;lsquo) meais u ngle () et is u Feed ($message) Evaluating the WP querquerquer) doit être vrai pour passer. WordPress Object Factory facilite la création de messages, de taxonomies, d’utilisateurs, etc. Ils créent des objets en utilisant les trois méthodes suivantes: create () – renvoie lamp;rsquoID damp;rsquoobjet de lamp;rsquoobjet créé create _ et get () – crée et renvoie lamp;rsquoobjet entier create many ($Count) – crée plusieurs messages basés sur $count pour créer un utilisateur et obtenir son ID utilisateur, et nous pouvons simplement exécuter: $user id = $this amp;gt Factory amp;gt user amp;gt create () Ou créer un utilisateur $user _ id = $this amp;gt Factory amp;gt user amp;gt create (array (amp;lsquoRoleamp;rsquo = amp;gt amp;lsquoauthoramp;rsquo) Damp;rsquoautres types damp;rsquousines comprennent des postes, des pièces jointes, des commentaires, des utilisateurs, des termes, des catégories, des étiquettes, des blogs, des réseaux. Utilisez l’exemple de vue d’ensemble du chargement de l’usine nuencedesignstudio eba99d92daee8cd233be15485d5bd46 pouvez trouver plus de détails sur chaque usine sur WordPress trac en ajoutant Setup () et teardown () WP _ unittestcase fournissent également leurs propres Setup () et teardown (), qui peuvent être utilisés avec Setup () et teardown () phpunit. En utilisant teardown, wp u unittestcase restaure l’état WordPress qui aurait pu avoir été modifié par la méthode test. Il sera chargé de vider le cache et de récupérer les variables globales. Pour les utiliser, il suffit de les appeler en utilisant parent:: Setup () ou parent:: teardown (), par exemple: Summary uploading Monitoring monitoring studio 59649ad68b530003859f7fb66e735681 WordPress test fonctionne sur la page d’accueil du site. Pour exécuter le test sur différentes pages, devez leur demander de le faire. Par exemple, pour effectuer un test à lamp;rsquoécran après lamp;rsquoadministration de lamp;rsquoédition, faites ce qui suit: téléchargez le résumé de nuancedesignstudio e04a9d03f02b11d6db1cf
Il y a une erreur lorsquamp;rsquoune erreur se produit. Load Gradient Comprehensive Design Studio 16910386a3d9f2c37051cc5b6b677989 Pour tester le rappel ou sa priorité dans le plug in, nous avons ajouté un rappel au crochet de lamp;rsquoaction user _ Register avec une valeur de priorité différente de la valeur par défaut de 10. Ici, nous pouvons utiliser la fonction has _ action qui renvoie la priorité du rappel sur le crochet spécifié. Échec du test parce que la priorité doit être supérieure à 10 Test réussi, contrôle de priorité supérieur à 10 Pour vérifier que le champ préféré du navigateur est correctement mis à jour à partir du profil damp;rsquoutilisateur, nous devons falsifier la variable Post et ensuite appeler la méthode de mise à jour des méta utilisateurs. Camp;rsquoest un test damp;rsquoisolement. Nous ne nous préoccupons que de la fonctionnalité du plug in pour mettre à jour Meta, et non du reste du système, comme si le formulaire de profil avait été envoyé correctement. Échec du test après mise à jour des méta valeurs Comparer les tests de réussite des navigateurs préférés mis à jour vers Opera Voici le code complet pour les tests dans cet article: chargement d’un exemple de test d’unit é du monde réel dans Essential Numerical signal studio 4a8bee5d4f1dfd2b78d3f6976e2c299b WordPress voici quelques uns des tests que j’ai écrits pour un simple utilitaire de plug in de gestion utilisant une construction orientée objet. Remarque: pour utiliser PHP Unit testdouble dans un plug in sans classe, devez utiliser lamp;rsquoespace de noms et PHP 5.3 ou plus tard. Pour quelques exemples de tests avancés, voir: WordPress Core test woocommerce Unit Test wordpress API mulation Ajax Framework request Test wordpress theme test a simple way to test a WordPress Theme is Testing Data Using Theme Unit. Nous avons un bon article expliquant comment le configurer. votre sujet offre une fonctionnalité similaire à un plug in, ou si souhaitez utiliser PHP
Unit é, pouvez voir le test de thème de base de Tom mcfarlin. La configuration dépend de la structure du sujet. Développement piloté par des tests (TDD) TDD est un paradigme de conception logicielle dans lequel les tests unitaires sont écrits damp;rsquoabord, puis le Code est écrit pour réussir les tests. Lamp;rsquoidée est damp;rsquoécrire des tests damp;rsquoUnit é échoués, puis damp;rsquoécrire du Code pour réussir ces tests. La boucle se poursuit jusquamp;rsquoà ce que toutes les fonctionnalités manquantes aient été ajoutées. À chaque itération, le Code est reconstruit sans changer de comportement. Que utilisiez ou non TDD, il est essentiel damp;rsquoécrire des tests au moment du développement. J’espère que cet article aidera à commencer à utiliser le test phpunit dans WordPress. Vous pouvez également envisager damp;rsquoautomatiser les tests à lamp;rsquoaide damp;rsquoun exécuteur de tâches comme gulp ou Grunt. Enfin, pouvez suivre WordPress trac, qui aidera à écrire des tests en utilisant les meilleures pratiques de WordPress. Autres ressources https:make.wordpress.orgcli20130219plugin-unit-tests http:wordpress.tv?s=unit Test https:carlalexander.caintroduction-wordpress-unit-testing https:jtreminio.com201303unit-testing-tutorial-part-5-mock-methods-and-overriding-constructors Jamp;rsquoespère que trouverez cet article utile sur les tests plug in! avez des questions sur le Code, veuillez les poser dans les commentaires ci dessous! Étiquettes: environnement damp;rsquoessai

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

ContactPress Supported By WordPress Plugins