Maison  >  Article  >  développement back-end  >  Comment faire des tests unitaires PHP ?

Comment faire des tests unitaires PHP ?

王林
王林original
2023-05-12 08:28:352041parcourir

Dans le développement Web, PHP est un langage populaire, les tests unitaires PHP sont donc une compétence indispensable pour quiconque. Cet article présentera ce qu'est le test unitaire PHP et comment effectuer des tests unitaires PHP.

1. Qu'est-ce que les tests unitaires PHP ?

Les tests unitaires PHP font référence au test du plus petit composant d'une application PHP, également appelé unité de code. Ces unités de code peuvent être des méthodes, des classes ou un ensemble de classes. Les tests unitaires PHP sont conçus pour confirmer que chaque unité de code fonctionne comme prévu et fonctionne correctement avec les autres unités.

En PHP, il existe deux principaux types de tests unitaires : les tests statiques et les tests dynamiques.

Les tests statiques font référence à l'utilisation d'outils d'analyse de code PHP pour tester le code sans exécuter de cas de test dans le code. Les tests statiques peuvent détecter des erreurs possibles telles que des appels de fonction ou de méthode non définis. Les outils de tests statiques PHP les plus populaires sont PHPStan et PHPMD.

Les tests dynamiques font référence à la définition de cas de test dans le code et à l'exécution de ces cas de test dans l'environnement de test. Les tests dynamiques peuvent aider à détecter les erreurs dans votre code, telles que les exceptions non gérées ou les erreurs logiques. Les outils de tests dynamiques PHP populaires incluent PHPUnit et SimpleTest.

2. Comment réaliser des tests unitaires PHP ?

  1. Install PHPUnit

PHPUnit est l'un des frameworks de test les plus populaires en PHP. Tout d’abord, nous devons installer PHPUnit. Vous pouvez utiliser le gestionnaire de packages PHP Composer pour installer PHPUnit. Exécutez la commande suivante pour installer PHPUnit :

composer require phpunit/phpunit --dev
  1. Create test file

Créez un fichier appelé "CalculatorTest.php" et dans ce fichier écrivez cas de test dans . Par exemple, nous pouvons tester la méthode "add" d'une classe nommée "Calculator":

<?php
use PHPUnitFrameworkTestCase;

class CalculatorTest extends TestCase {
  public function testAdd() {
    include 'Calculator.php';       //包含要测试的类

    $calculator = new Calculator();

    $result = $calculator->add(2, 3);

    $this->assertEquals(5, $result);
  }
}
?>

Dans cet exemple, nous utilisons la classe "TestCase" dans PHPUnit, qui fournit de nombreuses méthodes d'assertion utiles, telles que comme la méthode "assertEquals", sont utilisées pour affirmer si deux valeurs sont égales.

  1. Exécuter le test

Après avoir enregistré le fichier de test, basculez vers le répertoire du projet dans le terminal et exécutez la commande suivante pour exécuter le test :

./vendor/bin/phpunit CalculatorTest.php

Cela exécutera tous les cas de test dans le fichier "CalculatorTest.php" et affichera les résultats des tests. Si tous les cas de test réussissent, vous verrez un message de réussite.

  1. Écrire plus de cas de test

Normalement, nous devons écrire plusieurs cas de test pour couvrir toutes les situations possibles. Par exemple, nous pouvons écrire un cas de test pour tester la méthode "soustraire" : ".

Utilisation de fournisseurs de données
  1. En PHP, vous pouvez utiliser des fournisseurs de données pour parcourir plusieurs cas de test. Un fournisseur de données est une méthode qui renvoie plusieurs ensembles de données. Nous pouvons associer un fournisseur de données à un scénario de test en utilisant l'annotation "dataProvider".

Par exemple, nous pouvons créer un fournisseur de données pour tester la méthode "multiply":

public function testSubtract() {
  include 'Calculator.php';

  $calculator = new Calculator();

  $result = $calculator->subtract(5, 3);

  $this->assertEquals(2, $result);
}

Dans cet exemple, nous créons un fournisseur de données appelé processeur "multiplicationProvider", qui renvoie plusieurs ensembles de données. Nous associons ensuite le fournisseur de données au scénario de test à l'aide de l'annotation "dataProvider" dans la méthode "testMultiply". De cette façon, pendant l'exécution du test, PHPUnit parcourt automatiquement tous les ensembles de données du fournisseur de données et exécute le scénario de test une fois pour chaque ensemble de données.

3. Résumé

Les tests unitaires PHP sont une compétence que tout développeur PHP doit connaître. Dans cet article, nous avons présenté ce qu'est le test unitaire PHP et comment utiliser PHPUnit pour les tests unitaires. Nous avons également appris à utiliser des fournisseurs de données pour rédiger davantage de cas de test. En utilisant ces techniques, nous pouvons écrire du code PHP robuste et garantir que le code fonctionne comme prévu.

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