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