Pernyataan Pengecualian Luar Biasa dalam JUnit 5
Dalam JUnit 5, menegaskan bahawa kaedah melontar pengecualian telah dipermudahkan dengan pengenalan assertThrows( ). Kaedah ini menyediakan cara yang lebih ringkas dan mudah untuk mengesahkan kelakuan pengecualian, terutamanya apabila berbilang pengecualian dijangka dalam ujian yang sama.
Sebelum ini, pembangun bergantung pada anotasi @Rule untuk menyemak pengecualian, tetapi pendekatan ini mempunyai pengehadan apabila beberapa pengecualian terlibat. assertThrows(), sebaliknya, membenarkan ujian pengecualian yang fleksibel dan boleh disesuaikan.
Dengan memanfaatkan Java 8 lambdas, assertThrows() membolehkan pembangun menulis pernyataan ujian yang ringkas dan ekspresif:
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, assertThrows() digunakan untuk menyemak sama ada kaedah doThing() melemparkan MyException apabila dipanggil. Ungkapan lambda diluluskan sebagai hujah kedua mentakrifkan kod yang dijangka membuang pengecualian. Argumen ketiga menyediakan mesej pilihan untuk dipaparkan sekiranya penegasan gagal.
Dengan menggunakan assertThrows(), pembangun boleh menyelaraskan kod ujian pengecualian mereka, dengan mudah menegaskan berbilang pengecualian dalam satu ujian dan memberikan yang jelas dan bermaklumat mesej ralat apabila penegasan gagal.
Atas ialah kandungan terperinci Bagaimanakah `assertThrows()` JUnit 5' Memudahkan Ujian Penegasan Pengecualian?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!