Maison  >  Article  >  développement back-end  >  Comment utiliser Jenkins pour les tests automatisés dans le développement PHP

Comment utiliser Jenkins pour les tests automatisés dans le développement PHP

WBOY
WBOYoriginal
2023-06-27 14:29:501068parcourir

À 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.

  1. Installer le plug-in PHP
    Sur l'interface principale de Jenkins, cliquez sur "Gestion du système-Gestion des plug-ins", puis saisissez "php" dans le champ de recherche, cochez le plug-in PHP et installez-le.
  2. Installez le plug-in Selenium
    Selenium est un outil de test automatisé du navigateur qui peut nous aider à automatiser les tests des applications Web. De même, recherchez et installez le plugin Selenium dans Jenkins.
  3. Installer Composer
    Composer est un gestionnaire de packages PHP qui peut nous aider à gérer automatiquement les bibliothèques et les composants dépendants dans le développement PHP. Recherchez et installez le plugin Composer dans Jenkins.
  4. Installer PHPUnit
    PHPUnit est un framework de tests unitaires pour PHP. Il s'agit d'un framework de tests open source qui peut être utilisé pour écrire et exécuter des tests unitaires pour PHP. Recherchez et installez le plugin PHPUnit dans Jenkins.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn