Rumah >Java >javaTutorial >Bagaimanakah Saya Boleh Menegaskan Pengecualian dengan Cekap dalam Ujian JUnit?

Bagaimanakah Saya Boleh Menegaskan Pengecualian dengan Cekap dalam Ujian JUnit?

DDD
DDDasal
2024-12-26 22:49:10183semak imbas

How Can I Efficiently Assert Exceptions in JUnit Tests?

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!

Kenyataan:
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