Dalam JUnit 5, menegaskan bahawa kaedah membuang pengecualian telah menjadi lebih fleksibel dan cekap dengan pengenalan kaedah assertThrows(). Kaedah ini menghapuskan keperluan untuk pendekatan @Rule yang menyusahkan, terutamanya apabila menangani beberapa pengecualian yang dijangkakan dalam satu ujian.
Kaedah assertThrows() menerima berbilang argumen:
import static org.junit.jupiter.api.Assertions.assertThrows; @Test void exceptionTesting() { MyException thrown = assertThrows( MyException.class, () -> myObject.doThing(), "Expected doThing() to throw, but it didn't" ); assertTrue(thrown.getMessage().contains("Stuff")); }
Dalam contoh ini, ujian menjangkakan kaedah doThing() untuk membuang MyException dengan mesej yang mengandungi "Stuff." Jika pengecualian tidak dilemparkan atau jika mesej tidak sepadan, ujian akan gagal.
Berbanding dengan @Rule, assertThrows() menawarkan beberapa kelebihan:
Kaedah assertThrows() JUnit 5 memperkasakan pembangun dengan cara yang ringkas dan cekap untuk menegaskan balingan pengecualian dalam ujian mereka. Dengan memperkemas proses dan menyediakan mesej ralat yang dipertingkatkan, assertThrows() menjadikan ujian pengecualian lebih dipercayai dan boleh diselenggara.
Atas ialah kandungan terperinci Bagaimanakah `assertThrows()` JUnit 5' Memudahkan Ujian Pengecualian?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!