Écrire des tests fonctionnels pour le paquet WP – CLI
Mon dernier article faisait partie d’une courte série d’articles sur l’automatisation de la configuration du site WordPress local. Dans cette série, nous avons créé un paquet WP – CLI qui aide à installer et désinstaller l’environnement de développement WordPress et même à l’envoyer à l’index des paquets WP – CLI. Étant donné que la commande est accessible à n’importe qui dans l’index des paquets, il est logique d’améliorer la commande et de s’assurer qu’elle s’applique à tous. Dans cet article, nous allons faire une pause dans l’installation automatisée de WordPress et commencer à écrire quelques tests fonctionnels pour nous assurer que tout se passe comme prévu. Lors de l’écriture des tests pour la commande d’installateur WP, le même concept devrait s’appliquer à n’importe quel paquet WP CLI.
Tests fonctionnels? Tu veux dire un test d’Unit é? Vous avez peut – être entendu parler d’outils comme les tests unitaires et les unités PHP. Les tests unitaires sont un bon moyen de tester des fonctions ou des méthodes spécifiques dans un projet, en mettant davantage l’accent sur l’aspect Code. Les tests fonctionnels sont semblables aux tests unitaires, mais ils diffèrent en ce sens qu’au lieu d’écrire du Code pour vérifier que le Code existant fonctionne correctement, ils décrivent comment vous vous attendez à ce que certaines fonctions se comportent en termes lisibles par l’homme. Par exemple, vous pouvez le faire en utilisant un langage appelé concombre.
Ceci est particulièrement utile pour le WP – CLI car il vous permet de vérifier que le code fonctionne correctement et que toute sortie affichée à l’utilisateur correspond à vos attentes. Behat WP – CLI starter utilise behat pour effectuer ses tests fonctionnels, donc dans ce cas, nous allons faire de même. Si vous n’êtes pas familier avec behat, il peut être utile de consulter la documentation officielle pour savoir ce qu’il est et comment il fonctionne. Si vous souhaitez continuer à écrire des tests dans cet article, vous pouvez utiliser Cloner le dépôt GIT de l’installateur WP [protégé par courriel] : Matgelsh
Trois fichiers: donnés. Puis PHP. PHP et time. Php. Chaque fichier contient les informations nécessaires pour utiliser les mots clés. Voici quelques – unes des étapes définies dans la fonction \/ étape \/ donnée. PHP: $Step – > given (\
Créer et configurer au besoin.
Il est certainement utile de pouvoir tester la fonctionnalité de l’interface utilisateur (sortie) et des commandes dans le même test, même s’il y a beaucoup à faire sous les commandes pendant le test. Jusqu’à présent, nous avons utilisé les étapes de give, then et qui nous ont été fournies lors de l’échafaudage d’essai du paquet. Mais que se passe – t – il si nous devons ajouter des étapes personnalisées pour vérifier ce qui n’est pas couvert? Dans cet exemple, nous savons déjà que le fichier WordPress a été créé et que le fichier de configuration WP a été généré. Php. Mais le test ne vérifie pas si la base de données a été créée pour l’installation. Nous pouvons facilement ajouter ce contrôle en ajoutant de nouvelles étapes dans features \/ steps \/ then. PHP:
$Step – > then (\
Vous pouvez maintenant utiliser cette procédure pour vérifier que la base de données a été correctement créée en utilisant la commande d’installation WP. Ajoutez les lignes suivantes au scénario testé dans l’installateur install. Attribut: la base de données installée sur \/ tmp \/ wptest devrait déjà exister lorsque nous l’exécuterons Fournisseur \/ bin \/ behat, nous devrions voir nos mises à jour de test
Il y a beaucoup d’améliorations à apporter au projet d’installateur WP: une meilleure couverture des tests, un meilleur support pour différents environnements et configurations, et plus de fonctionnalités pour une installation WordPress locale aussi facile que possible. Avec une solide connaissance de l’écriture de tests fonctionnels, tout cela semble beaucoup plus simple.
Les tests fonctionnels sont parfaits pour le développement basé sur le comportement parce qu’ils vous aident à arrêter et à réfléchir à ce que les commandes devraient être et ce qu’il faut faire avant d’écrire n’importe quel Code. De plus, l’habitude d’écrire n’importe quel test peut certainement vous aider en tant que développeur et gestionnaire de projet. Avez – vous écrit des tests fonctionnels (en utilisant GHERKIN \/ behat ou d’autres outils)? C’est ce que tu pourrais faire à l’avenir? Veuillez me le dire dans les commentaires ci – dessous.