Maison développement back-end tutoriel php Comment implémenter les tests unitaires et la détection de la couverture de code à l'aide de PHP

Comment implémenter les tests unitaires et la détection de la couverture de code à l'aide de PHP

Sep 06, 2023 pm 01:37 PM
php 单元测试 代码覆盖率

如何使用 PHP 实现单元测试和代码覆盖率检测

Comment utiliser PHP pour implémenter les tests unitaires et la détection de la couverture de code

Introduction :
Dans le développement de logiciels, les tests unitaires sont un travail très important. Les tests unitaires peuvent garantir la qualité du code et le fonctionnement normal de la fonction. La détection de couverture de code peut évaluer dans quelle mesure nos scénarios de test détectent la couverture de code, nous aider à découvrir les lacunes des scénarios de test et à améliorer la couverture des tests. Cet article explique comment utiliser le framework PHPUnit en PHP pour implémenter les tests unitaires et la détection de la couverture de code.

1. Préparation de l'environnement
Avant de commencer, nous devons préparer l'environnement suivant :

  1. Environnement PHP
  2. Outil Composer (utilisé pour installer PHPUnit)
    Nous pouvons vérifier si PHP a été installé en exécutant la commande suivante dans le terminal Et Composer :

    php -v
    composer -V
    Copier après la connexion

    Si le numéro de version correspondant s'affiche, cela signifie que l'installation a réussi.

2. Installez PHPUnit
PHPUnit est un framework de tests unitaires pour PHP qui peut nous aider à écrire et à exécuter des tests unitaires. Nous pouvons installer PHPUnit via Composer et exécuter la commande suivante dans le terminal :

composer require --dev phpunit/phpunit
Copier après la connexion

Après avoir ajouté la commande ci-dessus au projet, Composer téléchargera automatiquement les bibliothèques de dépendances liées à PHPUnit depuis Internat et placera les fichiers correspondants dans le répertoire du fournisseur du projet.

3. Écrire des cas de tests unitaires
Ensuite, nous devons écrire des cas de test pour tester notre code. Tout d’abord, créez un dossier de tests dans le répertoire racine du projet pour stocker le code du scénario de test. Ensuite, nous créons une classe exemple Exemple pour tester une de ses méthodes. Créez un fichier ExempleTest.php dans le dossier tests avec le contenu suivant :

<?php

require_once './vendor/autoload.php';
require_once './Example.php';

use PHPUnitFrameworkTestCase;

class ExampleTest extends TestCase
{
    public function testAddition()
    {
        $example = new Example();
        $result = $example->addition(2, 3);
        $this->assertEquals(5, $result);
    }
}
Copier après la connexion

Dans cet exemple, nous utilisons la classe TestCase fournie par PHPUnit pour créer une classe de test ExempleTest, et y écrivons une méthode de test testAddition, dans l'exemple de test méthode d’ajout de classe. Nous créons un objet exemple de la classe Exemple, puis appelons la méthode d'addition et déterminons si son résultat de retour est égal au résultat attendu.

4. Écrivez le code à tester
Dans le cas de test, ce que nous devons tester, c'est la fonction du code testé. Par conséquent, nous devons également créer une classe Exemple pour compléter la méthode d’addition. Créez un fichier Exemple.php dans le répertoire racine du projet avec le contenu suivant :

<?php

class Example
{
    public function addition($a, $b)
    {
        return $a + $b;
    }
}
Copier après la connexion

Dans cet exemple, nous avons créé une classe Exemple avec une méthode d'addition pour ajouter deux nombres et renvoyer le résultat.

5. Exécuter les tests unitaires
Après avoir écrit les cas de test et le code testé, nous pouvons exécuter la commande suivante dans le terminal pour exécuter le test unitaire :

./vendor/bin/phpunit tests
Copier après la connexion

Après avoir exécuté cette commande, PHPUnit exécutera le cas de testExampleTest.php. Une fois le test terminé, il donnera les résultats du test et les informations de couverture.

6. Détection de couverture de code
La détection de couverture de code peut évaluer le degré de couverture de code par nos cas de test et nous aider à découvrir les lacunes des cas de test. Lors de l'exécution de tests unitaires, nous pouvons générer un rapport de couverture de code via la commande suivante :

./vendor/bin/phpunit --coverage-html coverage tests
Copier après la connexion

Après avoir exécuté cette commande, PHPUnit générera un répertoire de couverture dans le répertoire racine du projet, qui contient le rapport de couverture de code. Nous pouvons consulter le rapport de couverture en ouvrant le fichier index.html dans ce répertoire via un navigateur.

7. Résumé
Cet article présente comment utiliser le framework PHPUnit pour implémenter les tests unitaires PHP et la détection de la couverture de code. Tout d’abord, nous avons préparé l’environnement requis pour les tests et installé PHPUnit. Nous avons ensuite écrit les cas de test et le code testé, et exécuté les tests unitaires. Enfin, nous évaluons dans quelle mesure les cas de test couvrent le code en générant un rapport de couverture de code. Grâce aux étapes ci-dessus, nous pouvons mieux garantir la qualité du code et le fonctionnement normal des fonctions.

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Date et heure de CakePHP Date et heure de CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler avec la date et l'heure dans cakephp4, nous allons utiliser la classe FrozenTime disponible.

Discuter de CakePHP Discuter de CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP est un framework open source pour PHP. Il vise à faciliter grandement le développement, le déploiement et la maintenance d'applications. CakePHP est basé sur une architecture de type MVC à la fois puissante et facile à appréhender. Modèles, vues et contrôleurs gu

Téléchargement de fichiers CakePHP Téléchargement de fichiers CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler sur le téléchargement de fichiers, nous allons utiliser l'assistant de formulaire. Voici un exemple de téléchargement de fichiers.

CakePHP créant des validateurs CakePHP créant des validateurs Sep 10, 2024 pm 05:26 PM

Le validateur peut être créé en ajoutant les deux lignes suivantes dans le contrôleur.

Comment configurer Visual Studio Code (VS Code) pour le développement PHP Comment configurer Visual Studio Code (VS Code) pour le développement PHP Dec 20, 2024 am 11:31 AM

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

Guide rapide CakePHP Guide rapide CakePHP Sep 10, 2024 pm 05:27 PM

CakePHP est un framework MVC open source. Cela facilite grandement le développement, le déploiement et la maintenance des applications. CakePHP dispose d'un certain nombre de bibliothèques pour réduire la surcharge des tâches les plus courantes.

Comment analysez-vous et traitez-vous HTML / XML dans PHP? Comment analysez-vous et traitez-vous HTML / XML dans PHP? Feb 07, 2025 am 11:57 AM

Ce tutoriel montre comment traiter efficacement les documents XML à l'aide de PHP. XML (Language de balisage extensible) est un langage de balisage basé sur le texte polyvalent conçu à la fois pour la lisibilité humaine et l'analyse de la machine. Il est couramment utilisé pour le stockage de données et

See all articles