1. Préface
Dans cet article, nous utilisons l'outil de gestion des packages de dépendances de composer pour installer et gérer les packages phpunit. getcomposer.org/, suivez simplement les instructions pour l'installer globalement. De plus, nous utiliserons également un composant de journalisation Monolog très facile à utiliser pour enregistrer les journaux pour notre commodité.
Créez le fichier de configuration de coomposer.json dans le répertoire racine et entrez le contenu suivant :
1 2 3 4 5 6 7 |
|
Ce qui précède signifie charger tous les fichiers de classe dans le répertoire racine et l'exécuter sur la commande line Après l'installation de composer, un dossier fournisseur sera généré dans le répertoire racine. Tout code tiers que nous installerons via composer à l'avenir sera généré ici.
2. Pourquoi les tests unitaires ?
Chaque fois que vous pensez à taper quelque chose dans une instruction d'impression ou une expression de débogage, remplacez-le par un test. --Martin Fowler
PHPUnit est un logiciel open source développé dans le langage de programmation PHP et est un framework de tests unitaires. PHPUnit a été créé par Sebastian Bergmann, dérivé de SUnit de Kent Beck, et est l'un des frameworks de la famille xUnit.
Les tests unitaires sont le processus de test d'objets de code individuels, tels que les fonctions, les classes et les méthodes. Les tests unitaires peuvent utiliser n'importe quel morceau de code de test qui a été écrit, ou vous pouvez utiliser certains frameworks de tests existants, tels que JUnit, PHPUnit ou Cantata++. Le framework de tests unitaires fournit une série de fonctions courantes et utiles pour aider les utilisateurs à écrire des unités de détection automatisées. , comme une assertion qui vérifie si une valeur réelle correspond à la valeur attendue. Les frameworks de tests unitaires incluent souvent des rapports pour chaque test et vous donnent la couverture de code que vous avez couverte.
En un mot, l'utilisation de phpunit pour les tests automatiques rendra votre code plus robuste et réduira le coût de la maintenance ultérieure. Il s'agit également d'une spécification relativement standard. Les frameworks PHP populaires d'aujourd'hui sont tous livrés avec des tests unitaires. , Symfony, Yii2, etc., les tests unitaires sont devenus la norme.
De plus, le scénario de test unitaire contrôle le script de test via des commandes, plutôt que d'accéder à l'URL via le navigateur.
3. Installez PHPUnit
Utilisez composer pour installer PHPUnit, veuillez voir ici
1 |
|
Installer. Package de journal Monolog, utilisé pour les tests et la journalisation PHPunit.
1 |
|
Après l'installation, nous pouvons voir que le fichier coomposer.json contient déjà ces deux packs d'extension :
1 2 3 4 5 6 |
|
Utilisation simple de PHPUnit<🎜. >
1. Test de fichier unique
Créez le répertoire tests, créez un nouveau fichier StackTest.php, éditez-le comme suit :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
|
StackTest est une classe de testStackTest hérite de PHPUnitFrameworkTestCase méthode de test testPushAndPop() La méthode de test doit avoir des autorisations publiques et commence généralement par test, ou vous. peut choisir d'y ajouter des commentaires. @test vient représenter 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. Exécution de la ligne de commande :Nom du fichier de test de la commande phpunit
1 2 3 |
|
1 2 3 4 5 |
|
2. Introduction au fichier de classe
Calculator.php1 2 3 4 5 6 7 8 9 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
1 |
|
1 2 3 4 |
|
1 2 3 4 5 6 7 8 9 |
|
3. Utilisation avancée
En avez-vous assez d'ajouter test devant chaque nom de méthode de test ? Avez-vous du mal à écrire plusieurs cas de test car les paramètres que vous appelez sont différents ? Ma fonctionnalité avancée préférée, que je vous recommande maintenant, s'appelle Frame Builder. Calculator.php1 2 3 4 5 6 7 8 9 |
|
1 |
|
1 2 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
1 2 3 4 5 6 7 |
|
1 |
|
Tutoriel PHP"
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!