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

Bagaimanakah Saya Boleh Menegaskan Pengecualian dengan Cekap dalam Ujian JUnit?

DDD
Lepaskan: 2024-12-26 22:49:10
asal
136 orang telah melayarinya

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);

}
Salin selepas log masuk

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);

}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan