Menegaskan Pengecualian dalam Ujian JUnit
Secara tradisinya, ujian untuk pengecualian dalam JUnit melibatkan blok cuba-tangkap verbose seperti yang ditunjukkan dalam kod yang disediakan. Walau bagaimanapun, wujud beberapa alternatif yang menyelaraskan proses ini.
JUnit 5 dan 4.13
Sejak JUnit 4.13, anotasi @Test(expected = IndexOutOfBoundsException.class) boleh digunakan untuk menegaskan bahawa pengecualian khusus dilemparkan semasa pelaksanaan kaedah beranotasi. Contohnya:
@Test(expected = IndexOutOfBoundsException.class) public void testIndexOutOfBoundsException() { ArrayList emptyList = new ArrayList(); Object o = emptyList.get(0); }
AssertJ dan Google Truth
AssertJ dan Google Truth ialah perpustakaan penegasan popular yang menyediakan penegasan yang lebih mudah dibaca dan ekspresif, termasuk untuk menguji pengecualian. Contohnya, dengan AssertJ:
import static org.assertj.core.api.Assertions.assertThatThrownBy; @Test public void testIndexOfBoundsException() { ArrayList emptyList = new ArrayList(); assertThatThrownBy(() -> emptyList.get(0)).isInstanceOf(IndexOutOfBoundsException.class); }
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menegaskan Pengecualian dengan Cekap dalam Ujian JUnit?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!