Maison >développement back-end >tutoriel php >Comment utiliser PHPUnit pour les tests unitaires dans le développement PHP
Avec la large application du langage PHP dans le développement Web, l'utilisation de PHPUnit pour les tests unitaires est devenue une partie importante du développement PHP. Les tests unitaires peuvent nous aider à détecter des problèmes dans le code et à améliorer la maintenabilité et la lisibilité du code. Cet article explique comment utiliser PHPUnit pour les tests unitaires.
PHPUnit peut être installé via Composer. Entrez la commande suivante dans le terminal :
composer require --dev phpunit/phpunit
Nous devons écrire le fichier de test correspondant en fonction du code à tester. Le fichier de test doit utiliser les fonctions d'assertion (assertions) fournies par PHPUnit pour déterminer s'il répond aux résultats attendus. Voici un exemple simple :
class CalculatorTest extends PHPUnitFrameworkTestCase { public function testAdd() { $calculator = new Calculator(); $result = $calculator->add(2, 2); $this->assertEquals(4, $result); } }
Dans ce fichier de test, nous héritons de la classe PHPUnitFrameworkTestCase, définissons une méthode testAdd pour tester la méthode add dans la classe Calculator et utilisons la fonction assertEquals fournie par PHPUnit pour déterminer si le résultat réel est égal au résultat attendu.
Pour exécuter le fichier de test, vous devez exécuter la commande suivante dans le terminal :
vendor/bin/phpunit tests/CalculatorTest.php
Cette commande démarrera PHPUnit et exécutera toutes les méthodes de test dans le fichier tests/CalculatorTest.php. Si tous les tests réussissent, PHPUnit affichera un symbole vert. Si un ou plusieurs tests échouent, PHPUnit affichera un message d'erreur et donnera la raison spécifique de l'échec.
PHPUnit fournit également un outil d'analyse de couverture de code qui peut nous aider à analyser le nombre de lignes du code de test qui ont été exécutées. Ajoutez l'option --coverage-html après la commande pour exécuter le test afin de générer un rapport de couverture.
vendor/bin/phpunit --coverage-html coverage tests/CalculatorTest.php
Cette commande générera un répertoire de couverture dans le répertoire actuel, qui contient un fichier HTML. Ouvrez-le pour voir les résultats de l'analyse de couverture.
Lors de l'écriture de fichiers de test, nous devrons peut-être tester si plusieurs ensembles de données répondent aux résultats attendus. À ce stade, vous pouvez utiliser la fonction de fournisseur de données fournie par PHPUnit pour éviter d'écrire du code de test répété. Voici un exemple d'utilisation d'un fournisseur de données :
class CalculatorTest extends PHPUnitFrameworkTestCase { /** * @dataProvider additionProvider */ public function testAdd($a, $b, $expected) { $calculator = new Calculator(); $result = $calculator->add($a, $b); $this->assertEquals($expected, $result); } public function additionProvider() { return [ [0, 0, 0], [0, 1, 1], [1, 0, 1], [1, 1, 2], [-1, 1, 0], [PHP_INT_MAX, 1, PHP_INT_MAX + 1], ]; } }
Dans la classe de test de la calculatrice, nous définissons une méthode additionProvider pour renvoyer un ensemble de données de test, qui comprend deux opérandes et le résultat attendu. Dans la méthode testAdd, nous utilisons l'annotation dataProvider pour identifier le fournisseur de données. À ce stade, PHPUnit exécutera automatiquement plusieurs tests, en utilisant à chaque fois un ensemble de données.
Résumé
L'utilisation de PHPUnit pour les tests unitaires peut nous aider à améliorer la qualité et la maintenabilité de notre code. Cet article présente les fonctions de PHPUnit telles que l'installation, l'écriture de fichiers de test, l'exécution de tests, l'analyse de couverture et les fournisseurs de données. J'espère que ce contenu pourra aider les développeurs PHP avec les tests unitaires.
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!