Maison  >  Article  >  développement back-end  >  Améliorez l'efficacité des tests avec les outils de couverture de code PHP

Améliorez l'efficacité des tests avec les outils de couverture de code PHP

WBOY
WBOYoriginal
2024-06-03 18:39:00893parcourir

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.

使用 PHP 代码覆盖工具提高测试效率

Couverture de code PHP à l'aide de PHPUnit

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.

  • Coverage : Indique le nombre de lignes de code exécutées en pourcentage du nombre total de lignes de code.
  • Classes et méthodes couvertes : répertorie toutes les classes et méthodes remplacées.
  • Uncovered Code : mettez en surbrillance les lignes de code qui ne sont pas exécutées.

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!

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