Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah saya menegaskan Pengendalian Pengecualian dalam PHPUnit?

Bagaimanakah saya menegaskan Pengendalian Pengecualian dalam PHPUnit?

Barbara Streisand
Barbara Streisandasal
2024-10-25 08:49:29261semak imbas

How do I Assert Exception Handling in PHPUnit?

Menegaskan Pengendalian Pengecualian dalam PHPUnit

Pengendalian pengecualian ujian ialah aspek penting dalam memastikan keteguhan kod. Dalam PHPUnit, terdapat pendekatan mudah untuk menegaskan berlakunya pengecualian.

Menggunakan Kaedah Assert

PHPUnit menawarkan kaedah expectException() untuk mengesahkan pengecualian yang dijangkakan. Adalah disyorkan untuk menyediakan kelas pengecualian sebagai hujah kepada kaedah ini. Contohnya:

<code class="php"><?php
$this->expectException(\InvalidArgumentException::class);
// Code that is expected to throw an InvalidArgumentException</code>

Pernyataan ini akan menyebabkan ujian lulus jika InvalidArgumentException dilemparkan. PHPUnit mengendalikan ini dengan mendaftarkan pengendali pengecualian yang memintas pengecualian dan menetapkan status ujian untuk lulus.

Jalan Lama (PHPUnit < 5.2)

Sebelum PHPUnit 5.2 , kaedah setExpectedException() telah digunakan. Sintaks adalah serupa, tetapi memerlukan tiga hujah:

$this->setExpectedException(
    \InvalidArgumentException::class,
    'Error message',
    1  // Optional exception code
);

Amalan Terbaik

Untuk memastikan ujian yang tepat, adalah penting untuk menguji kelas pengecualian tertentu dan memastikan bahawa pengecualian dilemparkan dalam skop yang sesuai. Selain itu, adalah disyorkan untuk menggunakan expectException() dan bukannya setExpectedException() untuk pendekatan yang paling terkini.

Atas ialah kandungan terperinci Bagaimanakah saya menegaskan Pengendalian Pengecualian dalam PHPUnit?. 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