Bagaimanakah saya menegaskan Pengendalian Pengecualian dalam PHPUnit?

Barbara Streisand
Lepaskan: 2024-10-25 08:49:29
asal
260 orang telah melayarinya

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan