Maison  >  Article  >  développement back-end  >  Comment utiliser PHPUnit pour les tests de couverture de code dans le développement PHP

Comment utiliser PHPUnit pour les tests de couverture de code dans le développement PHP

PHPz
PHPzoriginal
2023-06-27 09:24:56583parcourir

Pour les développeurs PHP, utiliser PHPUnit pour les tests de couverture de code est une tâche très importante. Les tests de couverture de code peuvent aider les développeurs à vérifier s'il existe des parties non testées du code qu'ils écrivent et si la couverture de test est suffisamment élevée. Cet article explique comment utiliser PHPUnit pour les tests de couverture de code.

Tout d’abord, nous devons installer PHPUnit. Composer peut être utilisé pour installer PHPUnit :

composer require --dev phpunit/phpunit

Une fois l'installation terminée, nous pouvons exécuter la commande suivante dans le terminal pour vérifier si PHPUnit a été installé avec succès :

php vendor/bin/phpunit --version

Ensuite, nous devons configurer PHPUnit avant d'exécuter le test. Créez un fichier phpunit.xml dans le répertoire racine du projet avec le contenu suivant :

<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
         backupStaticAttributes="false"
         colors="true"
         convertErrorsToExceptions="true"
         convertNoticesToExceptions="true"
         convertWarningsToExceptions="true"
         processIsolation="false"
         stopOnFailure="false">
    <testsuites>
        <testsuite name="Example Test Suite">
            <directory>tests</directory>
        </testsuite>
    </testsuites>
    <filter>
        <whitelist processUncoveredFilesFromWhitelist="true">
            <directory suffix=".php">src</directory>
        </whitelist>
    </filter>
</phpunit>

Ce fichier de configuration indique à PHPUnit quels fichiers doivent être inclus lors de l'exécution des tests, et configure également certaines erreurs lors des exécutions de tests.

Avant d'écrire le code de test, jetons un œil à un exemple simple ci-dessous :

<?php

class Foo
{
    public function bar()
    {
        return true;
    }
}

Il s'agit d'une classe PHP très simple qui contient une méthode publique appelée bar() qui renvoie une valeur booléenne. Nous devons maintenant écrire un test pour cette classe afin de nous assurer qu'elle se comporte comme prévu. Créez un fichier de test dans le répertoire de test nommé FooTest.php avec le contenu suivant :

<?php
    
use PHPUnitFrameworkTestCase;

class FooTest extends TestCase
{
    /** @test */
    public function it_should_return_true()
    {
        $foo = new Foo;
        $this->assertTrue($foo->bar());
    }
}

Ce test est très simple. Nous instancions la classe Foo et veillons à ce que sa méthode bar() renvoie true. Nous pouvons maintenant exécuter les tests et afficher le rapport de couverture généré par PHPUnit. Exécutez la commande suivante dans le terminal :

php vendor/bin/phpunit --coverage-html coverage

Cette commande générera un rapport de couverture HTML et l'enregistrera dans le répertoire de couverture sous le répertoire racine du projet. Ouvrez le rapport et vous pouvez voir que la couverture du code de la classe Foo est de 100 %. Cela signifie que le test que nous avons écrit a couvert tout le code de la classe Foo.

En général, PHPUnit est un outil de test très puissant qui peut nous aider à écrire du code PHP de haute qualité. Les tests de couverture de code sont une fonctionnalité clé de PHPUnit, garantissant que les tests que nous écrivons couvrent chaque partie de notre code. L'utilisation de PHPUnit pour les tests de couverture de code dans les projets peut considérablement améliorer la qualité de notre code et éviter certaines erreurs et failles potentielles.

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