Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Ujian unit PHP dan amalan pengendalian ralat

Ujian unit PHP dan amalan pengendalian ralat

王林
王林asal
2024-05-07 08:15:02394semak imbas

Ujian unit boleh menguji kod dengan mudah dan cepat melalui rangka kerja PHPUnit, dan pengendalian ralat menggunakan pengecualian untuk menangkap dan mengendalikan ralat masa jalan. Pengendalian pengecualian menggunakan cuba...tangkap kenyataan untuk menangkap pengecualian, manakala pelaporan ralat mengkonfigurasi jenis ralat melalui error_reporting() dan secara aktif mencetuskan ralat menggunakan trigger_error().

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

Amalan Pengujian Unit dan Pengendalian Ralat dalam PHP

Pengenalan

Pengujian unit dan pengendalian ralat adalah aspek penting dalam pembangunan perisian. PHP menyediakan set lengkap alatan dan amalan terbaik untuk membantu anda menulis kod yang mantap dan boleh diselenggara. Artikel ini membincangkan cara menggunakan ujian unit PHP dan pengendalian ralat dengan berkesan.

Ujian Unit

Pengenalan kepada PHPUnit

PHPUnit ialah rangka kerja ujian unit terkemuka untuk PHP. Ia menyediakan pelbagai dakwaan, ejekan dan stub untuk membolehkan anda menguji kod anda dengan cepat dan mudah.

Kes praktikal

Pertimbangkan coretan kod berikut, yang merupakan fungsi kalkulator mudah:

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

Anda boleh menggunakan PHPUnit untuk menulis ujian unit untuk menguji fungsi ini seperti berikut:

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');
    }
}

pengendalian kesalahan Pengendalian pengecualian

Pengecualian dalam PHP ialah objek khas yang digunakan untuk mengendalikan ralat masa jalan. Anda boleh menangkap dan mengendalikan pengecualian menggunakan penyataan cuba...tangkap seperti yang ditunjukkan di bawah: try...catch 语句捕获和处理异常,如下所示:

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

错误报告

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

$handle = fopen('nonexistent.txt', 'r');

Pelaporan Ralat

Pelaporan Ralat PHP digunakan untuk log mesej ralat dan amaran dalam kod anda. Anda boleh menggunakan fungsi error_reporting() untuk mengkonfigurasi jenis ralat yang akan dilaporkan dan fungsi trigger_error() untuk mencetuskan ralat secara aktif.

Kes Sebenar

🎜🎜Pertimbangkan coretan kod berikut, yang cuba membuka fail yang tidak wujud: 🎜
set_error_handler(function($errno, $errstr, $errfile, $errline, $errcontext) {
    echo 'Error: ' . $errstr . "\n";
});

try {
    $handle = fopen('nonexistent.txt', 'r');
} catch (Exception $e) {
    // 该异常在错误处理程序中被捕获,因此不会执行
}
🎜Anda boleh menggunakan pengendalian ralat untuk menangkap dan mengendalikan ralat ini seperti berikut: 🎜rrreee

Atas ialah kandungan terperinci Ujian unit PHP dan amalan pengendalian ralat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn