À mesure que l'ampleur des applications Web continue de croître, l'application du langage PHP devient de plus en plus répandue. Dans le processus de développement logiciel, les tests automatisés peuvent considérablement améliorer l’efficacité du développement et la qualité des logiciels. Jenkins est un serveur d'automatisation open source extensible qui peut effectuer automatiquement la création, les tests, le déploiement et d'autres opérations de logiciels. Aujourd'hui, nous verrons comment utiliser Jenkins pour les tests automatisés dans le développement PHP.
1. Installation et configuration de Jenkins
Tout d'abord, nous devons installer Jenkins sur le serveur. Jenkins prend en charge plusieurs systèmes d'exploitation, notamment Windows, Linux, Mac, etc. Une fois l'installation terminée, entrez l'adresse URL de Jenkins dans le navigateur, puis entrez le nom d'utilisateur et le mot de passe du compte administrateur pour vous connecter à Jenkins.
Une fois l'installation terminée, sur l'interface principale de Jenkins, nous devons configurer certains plug-ins et outils à utiliser dans le développement PHP.
Une fois l'installation terminée, nous pouvons effectuer certains réglages dans la configuration globale de Jenkins à utiliser lors de la réalisation de tests automatisés PHP. Par exemple, définissez les chemins PHP et Composer, ainsi que les ports spécifiques du navigateur et Selenium, et plus encore.
2. Construire un projet Jenkins
Un projet dans Jenkins est un processus de construction de logiciel. Dans le développement PHP, nous pouvons traiter chaque projet comme un projet Jenkins pour créer et gérer le processus de test dans Jenkins.
Sur l'interface principale de Jenkins, cliquez sur « Nouveau projet », remplissez le nom du projet, sélectionnez « Créer un projet logiciel de style libre », puis cliquez sur « OK ».
Ensuite, effectuez quelques réglages dans la configuration du projet pour une utilisation dans les tests automatisés PHP. Par exemple, la configuration du contrôle de code source, des déclencheurs de génération, des environnements de génération, des étapes de génération, etc.
La plus importante est "l'étape de construction", car c'est là que nous utilisons les tests automatisés PHP. Dans l'« étape de construction », nous pouvons ajouter plusieurs commandes d'exécution, telles que l'utilisation de Composer pour installer des bibliothèques dépendantes, l'exécution de scripts de test PHPUnit, etc. Ensuite, nous présentons en détail deux méthodes de tests automatisés couramment utilisées : les tests unitaires et les tests fonctionnels.
3. Tests unitaires
Les tests unitaires font référence au processus de test d'un seul composant d'un système logiciel, dans le but de vérifier un par un si chaque composant fonctionne comme prévu. Dans le développement PHP, nous pouvons utiliser PHPUnit pour les tests unitaires.
Ce qui suit est un exemple de code de test pour PHP :
<?php use PHPUnitFrameworkTestCase; class StringUtilTest extends TestCase { public function testStringLength() { $stringUtil = new StringUtil(); $string = 'PHPUnit test'; $length = $stringUtil->getLength($string); $this->assertEquals(11, $length); } }
Dans la "Build Step" du projet Jenkins, nous pouvons ajouter la commande PHPUnit et exécuter le test :
composer install vendor/bin/phpunit tests/
4. Tests fonctionnels
Les tests fonctionnels font référence aux tests les performances du système logiciel Le processus de test fonctionne-t-il comme prévu ? Dans le développement PHP, nous pouvons utiliser Selenium pour les tests fonctionnels.
Tout d'abord, dans "l'étape de construction" du projet Jenkins, nous devons ajouter la commande suivante :
composer install vendor/bin/phpunit tests/ java -jar selenium-server-standalone.jar
Parmi elles, selenium-server-standalone.jar est un outil Selenium qui peut démarrer le service Selenium en ligne de commande. . Après avoir téléchargé l'outil Selenium, placez-le dans le répertoire racine du projet.
Ensuite, ajoutez un exemple de code en PHP pour tester :
<?php use FacebookWebDriverRemoteRemoteWebDriver; use FacebookWebDriverRemoteDesiredCapabilities; class ExampleFunctionalTest extends PHPUnitFrameworkTestCase { public function testChrome() { $driver = RemoteWebDriver::create( 'http://localhost:4444/wd/hub', DesiredCapabilities::chrome() ); $driver->get('http://www.google.com'); $this->assertEquals('Google', $driver->getTitle()); } }
Exécutez le projet Jenkins, Jenkins démarrera le service Selenium et effectuera automatiquement des tests fonctionnels. Affichez les résultats du test dans Jenkins. Si le test réussit, le test est réussi.
5. Résumé
Grâce à cet article, nous avons appris à utiliser Jenkins pour les tests automatisés dans le développement PHP. Tout d'abord, nous installons et configurons le plugin, les outils et l'environnement Jenkins. Ensuite, nous avons introduit les méthodes de tests automatisés pour les tests unitaires et les tests fonctionnels respectivement en configurant les étapes de construction du projet Jenkins.
Les tests automatisés peuvent grandement améliorer l'efficacité et la qualité des logiciels du développement PHP. J'espère que cet article sera utile aux développeurs PHP.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!