Dalam JUnit, menguji sama ada pengecualian khusus dilemparkan boleh dicapai dalam pelbagai cara.
Anotasi @Test kini menyokong atribut yang diharapkan, yang membolehkan anda menentukan jangkaan jenis pengecualian:
@Test(expected = IndexOutOfBoundsException.class) public void testIndexOutOfBoundsException() { ArrayList emptyList = new ArrayList(); Object o = emptyList.get(0); }
Pustaka penegasan pihak ketiga seperti AssertJ dan Google Truth menyediakan sintaks yang lebih ringkas untuk ujian pengecualian:
// AssertJ assertThatThrownBy(() -> foo.doStuff()).isInstanceOf(IndexOutOfBoundsException.class); // Google Truth assertWithMessage("Expected IndexOutOfBoundsException").thatExceptionOfType(IndexOutOfBoundsException.class).isThrownBy(() -> foo.doStuff());
Untuk JUnit 4.12 dan sebelum ini, terdapat beberapa pilihan:
Rujuk JUnit Test-FAQ untuk mendapatkan butiran lanjut tentang pilihan ini.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menguji Pengendalian Pengecualian dengan Berkesan dalam JUnit?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!