Maison > développement back-end > tutoriel php > Méthodes et exemples de tests unitaires php phpunit

Méthodes et exemples de tests unitaires php phpunit

墨辰丷
Libérer: 2023-03-26 08:58:01
original
1589 Les gens l'ont consulté

Cet article présente principalement le test unitaire php phpunit et analyse les concepts de base, les méthodes d'utilisation et les précautions associées du test unitaire php phpunit sous forme d'exemples. Les amis dans le besoin peuvent s'y référer

Le. les détails sont les suivants :

Qu'est-ce que les tests unitaires :

fait référence au test des unités de base du logiciel, telles que les fonctions, les méthodes, etc., pour vérifier si leurs valeurs de retour ou leurs comportements sont comme prévu ; le logiciel chinois actuel est très complexe, composé de nombreux composants, et le processus d'exécution est cohérent. Pour tester les fragments d'unité, vous devez fournir un contexte d'exécution (ou des paramètres) et un environnement (tels que). empiler pour simuler certains objets) pour l'exécution, et pour surveiller son comportement et la valeur de retour, nous devons écrire du code de programme pour ce faire. Un tel code est appelé un scénario de test. De nombreux scénarios de test sont organiquement combinés pour former un test global, également appelé. une suite de tests. Le code du programme testé est appelé code de production. Le logiciel phpunit est utilisé pour nous aider à rédiger des cas de tests et à réaliser des tests.

Tests unitaires PHP : phpunit

propose des tutoriels détaillés sur son site officiel. Voici quelques contenus supplémentaires.

Tout d'abord, vous devez comprendre que le logiciel phpunit lui-même est implémenté par le langage php. Son utilisation se fait via la ligne de commande, et non via le navigateur.

Il est important de comprendre cela. . De nombreux nouveaux arrivants sont coincés ici. C'est très basique et simple, mais il semble que cela n'ait pas été beaucoup mentionné

Après le téléchargement depuis le site officiel, vous obtiendrez un fichier phar. Pour une introduction au fichier d'archive phar, veuillez vous référer au fichier phar. article précédent : Concept et utilisation du format d'archive de développement PHP

Veuillez également télécharger la documentation d'utilisation de phpunit, installez-la selon la méthode d'installation à l'intérieur, puis entrez la commande suivante sur la ligne de commande :

phpunit --help
Copier après la connexion

Si le message d'aide s'affiche, l'installation est réussie Créez un cas de test yunke.php dans le répertoire courant de la ligne de commande avec le contenu suivant :

<?php
use PHPUnit\Framework\TestCase;
class yunkeTest extends TestCase
{
  public function testPushAndPop()
  {
    $stack = [];
    $this->assertEquals(0, count($stack));
    array_push($stack, &#39;foo&#39;);
    $this->assertEquals(&#39;foo&#39;, $stack[count($stack) - 1]);
    $this->assertEquals(1, count($stack));
    $this->assertEquals(&#39;foo&#39;, array_pop($stack));
    $this->assertEquals(0, count($stack));
  }
}
?>
Copier après la connexion

Saisissez ensuite la commande suivante sur la ligne de commande :

phpunit yunke
Copier après la connexion

Le contenu suivant s'affiche :

PHPUnit 5.7.12 by Sebastian Bergmann and contributors.
.                                  1 / 1 (100%)
Time: 159 ms, Memory: 7.00MB
OK (1 test, 5 assertions)
Copier après la connexion

Félicitations, vous avez réussi un test unitaire. La première ligne contient les informations sur l'auteur (Sebastian Bergmann aime le faire. être signé)

La deuxième ligne commence par un point, indiquant que tous les tests ont réussi

Vous vous demandez peut-être ce qui se passe avec le code php ci-dessus ?

Il s'agit d'un cas de test, qui teste simplement une opération de tableau. Les tests unitaires passent généralement par les quatre étapes suivantes :

1 Le test pour la classe de code de production Class est écrit dans la classe. Test de classe.
2. ClassTest hérite (généralement) de PHPUnitFrameworkTestCase.
3. Les tests sont toutes des méthodes publiques nommées test*. Vous pouvez également utiliser l'annotation @test dans le bloc de commentaires de la documentation de la méthode (docblock) pour la marquer comme méthode de test.
4. Dans la méthode de test, des méthodes d'assertion similaires à assertEquals() sont utilisées pour faire des assertions sur la correspondance entre la valeur réelle et la valeur attendue.

Vous pouvez être confus à plusieurs endroits ici :

1. Les annotations utilisées dans le bloc de commentaires peuvent être obtenues par PHP par réflexion, et le programme peut utiliser les informations obtenues pour la configuration
2 . D'où vient la classe TestCase dans le code du scénario de test dans la colonne ci-dessus ? Il n'a pas été chargé ?
Comme mentionné ci-dessus, phpunit lui-même est écrit en langage PHP et emballé dans phar pour être utilisé. phar est exécutable lors de l'exécution, exécutez d'abord le fichier stub dans le package

Vous pouvez suivre l'autre de Yunke ci-dessus. phar post a présenté la méthode pour extraire et restaurer le package phpunit.phar, ou utiliser un IDE comme phpstorm pour l'ouvrir directement

Dans .phar/stub.php vous verrez le code stub, la classe TestCase est The Le code de ligne de commande "phpunit yunke" requis dans le code stub exécutera d'abord le script phpunit, démarrera l'exécution à partir du fichier stub, puis chargera le code du scénario de test

par phpunit. voir le programme L'exécution ne démarre pas à partir du script du scénario de test Vous comprenez maintenant d'où vient la classe TestCase

Recommandations associées :

Comment installer. PHPUnit dans l'environnement CentOS

Implémentation de la fonction de test automatisé de l'interface phpunit

Exemple détaillé de la méthode de test d'intégration PHPUnit du framework Yaf

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal