Rumah >Java >javaTutorial >Bagaimana untuk Menegaskan Pengecualian dalam JUnit 5 menggunakan Assertions.assertThrows()?

Bagaimana untuk Menegaskan Pengecualian dalam JUnit 5 menggunakan Assertions.assertThrows()?

DDD
DDDasal
2024-11-19 19:04:02855semak imbas

How to Assert Exceptions in JUnit 5 using Assertions.assertThrows()?

Menegaskan Pengecualian dalam JUnit 5 dengan Assertions.assertThrows()

Dalam JUnit 5, menegaskan bahawa kaedah melontar pengecualian boleh dicapai melalui kaedah Assertions.assertThrows(). Ini menyediakan cara yang mudah dan ekspresif untuk menguji pelbagai senario pengecualian, terutamanya apabila berurusan dengan berbilang pengecualian dalam satu ujian.

Pertimbangkan kes ujian berikut:

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

Begini cara Assertions.assertThrows () berfungsi:

  1. Jenis Pengecualian: Argumen pertama untuk menegaskanThrows() ialah jenis pengecualian yang dijangkakan. Dalam kes ini, kami menjangkakan MyException akan dibuang.
  2. Lambda Boleh Laku: Argumen kedua ialah ungkapan lambda yang mewakili kod boleh laku yang sedang diuji. Ia harus menggunakan kaedah yang dijangka membuang pengecualian.
  3. Mesej (Pilihan): Argumen ketiga (pilihan) membolehkan anda menentukan mesej ralat tersuai sekiranya penegasan gagal.

Faedah Menggunakan Assertions.assertThrows():

  • Ringkas dan Boleh Dibaca: Assertions.assertThrows() memudahkan pengecualian ujian berbanding menggunakan @Peraturan, menjadikan ujian anda lebih padat dan boleh dibaca.
  • Pengujian Berbilang Pengecualian: Kaedah ini membolehkan anda menguji berbilang pengecualian dalam kes ujian yang sama.
  • Pernyataan Lebih Bersih: Daripada menyemak secara manual untuk pengecualian yang dilemparkan, assertThrows() menyediakan cara yang lebih ringkas dan deklaratif untuk menegaskan syarat pengecualian.

Atas ialah kandungan terperinci Bagaimana untuk Menegaskan Pengecualian dalam JUnit 5 menggunakan Assertions.assertThrows()?. 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