Maison > développement back-end > tutoriel php > Pratique des tests unitaires PHP et de la gestion des erreurs

Pratique des tests unitaires PHP et de la gestion des erreurs

王林
Libérer: 2024-05-07 08:15:02
original
413 Les gens l'ont consulté

Les tests unitaires peuvent tester facilement et rapidement le code via le framework PHPUnit, et la gestion des erreurs utilise des exceptions pour détecter et gérer les erreurs d'exécution. La gestion des exceptions utilise les instructions try...catch pour capturer les exceptions, tandis que le rapport d'erreurs configure les types d'erreurs via error_reporting() et déclenche activement les erreurs à l'aide de trigger_error().

PHP 单元测试与错误处理的实践

Pratique des tests unitaires et de la gestion des erreurs en PHP

Introduction

Les tests unitaires et la gestion des erreurs sont des aspects cruciaux du développement logiciel. PHP fournit un ensemble complet d'outils et de bonnes pratiques pour vous aider à écrire du code robuste et maintenable. Cet article explique comment utiliser efficacement les tests unitaires PHP et la gestion des erreurs.

Tests unitaires

Introduction à PHPUnit

PHPUnit est le principal framework de tests unitaires pour PHP. Il fournit une variété d'assertions, de simulations et de stubs pour vous permettre de tester votre code rapidement et facilement.

Cas pratique

Considérez l'extrait de code suivant, qui est une simple fonction de calculatrice :

function calculate($a, $b, $operation) {
    switch ($operation) {
        case 'add':
            return $a + $b;
        case 'subtract':
            return $a - $b;
        default:
            throw new InvalidArgumentException('Invalid operation');
    }
}
Copier après la connexion

Vous pouvez utiliser PHPUnit pour écrire un test unitaire pour tester cette fonction comme suit :

use PHPUnit\Framework\TestCase;

class CalculatorTest extends TestCase {

    public function testAdd() {
        $this->assertEquals(5, calculate(2, 3, 'add'));
    }

    public function testSubtract() {
        $this->assertEquals(1, calculate(3, 2, 'subtract'));
    }

    public function testInvalidOperation() {
        $this->expectException(InvalidArgumentException::class);
        calculate(1, 2, 'multiply');
    }
}
Copier après la connexion

Gestion des erreurs

Gestion des exceptions

Les exceptions en PHP sont des objets spéciaux utilisés pour gérer les erreurs d'exécution. Vous pouvez intercepter et gérer les exceptions à l'aide de l'instruction try...catch comme indiqué ci-dessous : try...catch 语句捕获和处理异常,如下所示:

try {
    // 代码可能会抛出异常
} catch (Exception $e) {
    // 捕获异常并进行处理
}
Copier après la connexion

错误报告

PHP 错误报告用于在代码中记录错误消息和警告。您可以使用 error_reporting() 函数配置要报告的错误类型,并使用 trigger_error()

$handle = fopen('nonexistent.txt', 'r');
Copier après la connexion

Error Reporting

Le rapport d'erreurs PHP est utilisé pour enregistrer les messages d'erreur et les avertissements dans votre code. Vous pouvez utiliser la fonction error_reporting() pour configurer les types d'erreurs à signaler, et la fonction trigger_error() pour déclencher activement des erreurs.

Cas réel

🎜🎜Considérez l'extrait de code suivant, qui tente d'ouvrir un fichier qui n'existe pas : 🎜
set_error_handler(function($errno, $errstr, $errfile, $errline, $errcontext) {
    echo 'Error: ' . $errstr . "\n";
});

try {
    $handle = fopen('nonexistent.txt', 'r');
} catch (Exception $e) {
    // 该异常在错误处理程序中被捕获,因此不会执行
}
Copier après la connexion
🎜Vous pouvez utiliser la gestion des erreurs pour détecter et gérer cette erreur comme suit : 🎜rrreee

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