Bootstrap pour tester l'intégration des plugins WordPress avec PHPUnit.
composer require --dev jdgrimes/wpppb
Tout d’abord, vous aurez besoin d’une extraction locale du dépôt de développement WordPress, y compris le répertoire tests
. La méthode recommandée pour obtenir cela, en particulier si vous avez l’intention de contribuer au noyau de WordPress, est d’utiliser VVV. WPPPB s'appuie sur les outils de test déjà inclus avec le noyau WordPress, il ne fonctionnera donc pas sans eux.
Une fois que vous disposez d'une copie locale du répertoire tests
de WordPress, vous pouvez exécuter le script de configuration pour WPPPB :
vendor/bin/wpppb-init
Répondez aux invites et vous êtes prêt à partir !
Vos tests seront placés dans le répertoire tests
qui sera créé à la racine de votre projet (c'est-à-dire à côté du répertoire vendor
ajouté par Composer). La source de votre plugin (la partie qui serait compressée et installée sur un site WordPress) devrait se trouver dans un répertoire src
à côté de ces deux-là, et non à la racine de votre projet lui-même. Un exemple de structure de fichier ressemblerait à ceci :
- src/
- my-plugin.php
- includes/
- etc.
- tests/
- vendor/
Avec quelques modifications, vous pourriez probablement utiliser WPPPB avec une structure de répertoires différente, mais c'est ce qu'il attend par défaut.
Vous pouvez exécuter vos tests PHPUnit comme vous le feriez normalement :
phpunit
Vous pouvez également faire d'autres choses intéressantes, comme tester la routine de désinstallation de votre plugin.
(Notez que le bootstrap par défaut utilise le chargeur automatique PHP de Composer, qui nécessite PHP 5.3. Voir ici pour les instructions d'utilisation avec PHP 5.2.)
Le but de ce projet est de fournir un bootstrap aux développeurs de plugins qui souhaitent effectuer des tests d'intégration pour leur plugin à l'aide de la suite de tests du noyau WordPress. Son objectif n'est pas seulement de rendre cela plus facile, mais aussi meilleur, en fournissant une implémentation qui rend les tests aussi réalistes que possible.
À cette fin, le chargeur fonctionne en activant à distance le(s) plugin(s) et en laissant WordPress les charger comme il le ferait normalement. Cela fournit des tests plus réalistes que l'inclusion et l'activation manuelles des plugins sur l'action muplugins_loaded
, comme cela se fait habituellement.
Le code de ce projet est fourni sous licence MIT.