Comment utiliser PHPUnit pour la couverture du code PHP : installez PHPUnit. Configurez le fichier de configuration PHPUnit (phpunit.xml). Exécutez la commande de couverture de code (phpunit --coverage-html build/coverage). Expliquez le rapport : Couverture : lignes de code exécutées en pourcentage du total des lignes de code. Classes et méthodes remplacées : répertorie toutes les classes et méthodes remplacées. Code découvert : mettez en surbrillance les lignes de code qui n'ont pas été exécutées.
Introduction
La couverture de code est une technique de test qui mesure le nombre de lignes de code exécutées dans un programme. Cela permet d'identifier les chemins de code non testés et les bogues potentiels. PHPUnit est un framework de test PHP populaire qui fournit des outils de couverture de code intégrés.
Installez PHPUnit
Pour installer PHPUnit, utilisez Composer :
composer global require "phpunit/phpunit:^9"
Configurez PHPUnit
Pour configurer PHPUnit dans votre projet, créez un fichier de configuration nommé phpunit.xml
et ajoutez le contenu suivant :
<phpunit> <testsuites> <testsuite name="MyTestSuite"> <directory>tests</directory> </testsuite> </testsuites> <filter> <whitelist processUncoveredFilesFromWhitelist="true"> <directory suffix=".php">src</directory> </whitelist> </filter> <logging> <log type="coverage-html" target="build/coverage" /> </logging> </phpunit>
Run Code Coverage
Pour générer un rapport de couverture de code, exécutez la commande suivante :
phpunit --coverage-html build/coverage
Expliquez le rapport de couverture de code
Le rapport généré affichera une interface HTML interactive.
Cas pratique
Considérez la classe PHP suivante :
class Calculator { public function add(int $a, int $b): int { return $a + $b; } }
Pour la tester, nous créons un cas de test :
class CalculatorTest extends PHPUnit_Framework_TestCase { public function testAdd() { $calculator = new Calculator(); $this->assertEquals(3, $calculator->add(1, 2)); } }
Exécutez PHPUnit et après avoir généré le rapport de couverture de code, vous pouvez voir les résultats suivants :
....... 6 / 6 (100%) Time: 0 seconds, Memory: 4.00 MB OK (1 test, 1 assertion)
Le rapport indique que tout le code est couvert (100%).
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!