MulaiMulai sekarang secara gratis

Menangani Exception: Pemrosesan Pesan

Seperti halnya penggunaan dan penanganan exception merupakan bagian penting dari penulisan kode, menguji exception tersebut juga krusial untuk menguji proyek Anda.

Dalam latihan ini, Anda akan berlatih sintaks asersi instans kelas di JUnit. Anda diberikan sebuah metode yang mengonversi string menjadi huruf besar, tetapi melempar RuntimeException kustom jika string bernilai null. Tugas Anda adalah menulis unit test untuk metode tersebut.

Latihan ini adalah bagian dari kursus

Pengantar Pengujian di Java

Lihat Kursus

Petunjuk latihan

  • Asersikan bahwa pesan telah dikonversi menjadi huruf besar pada pengujian skenario sukses.
  • Gunakan jenis asersi yang benar untuk memverifikasi bahwa exception yang dilempar adalah instance of kelas RuntimeException.
  • Masukkan kelas yang diharapkan dari exception tersebut.
  • Gunakan asersi yang benar untuk memverifikasi pesan exception.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

public class Main {
    public static void main(String[] args) {
		launchTestsAndPrint(MessageProcessorTest.class);
    }
}

class MessageProcessorTest {

    @Test
    void processMessage_returnsUppercase() {
        String message = "error!";
        String expected = "ERROR!";

        String actual = MessageProcessor.processMessage(message);
		
        // Assert the message is converted to uppercase
        ____(expected, actual);
    }

    @Test
    void processMessage_throwsException_whenMessageIsNull() {
        String message = null;
        Exception expectedException = null;

        try {
        	MessageProcessor.processMessage(message);
        } catch (Exception e) {
        	expectedException = e;
        }
        // Assert the correct type of exception
        ____(RuntimeException.class, expectedException);
        // Assert the correct exception message
        ____("Message cannot be null.", expectedException.getMessage());
    }
}
Edit dan Jalankan Kode